さまざまなビューの JSP ページを多数作成しています。これらの JSP は、重複を防ぐために非常に長い名前を持つリクエスト スコープ属性を取得します。例は次のとおりです。
request.getAttribute("domain1.subdomain1.subdomain11.subdomain111.attributeName");
ELで同等のものは次のとおりです。
${requestScope['domain1.subdomain1.subdomain11.subdomain111.attributeName']}
EL 式が非常に長い場合があります (たとえば、3 つの異なる JavaBeans を使用して HTML タグを作成したり、javascript 関数を呼び出したりする場合など)。
私の質問は、私が見つけたソリューションが優れたプログラミング ソリューションであるかどうかについてです。各ビューには独自のページ スコープがあるため、JSP の先頭に次のように配置します。
<c:set var="attributeName" scope="page" value="${requestScope['domain1.subdomain1.subdomain11.subdomain111.attributeName']}"
そして、私の EL 式では、次のように使用します。
${pageScope["attributeName"]}
これは、JSP コードを読むときに、属性の実際のスコープについて混乱を招くのではないでしょうか?