次のようなURLがある場合はどうなりますか?servlet.jsp?myparam=myvalue
これらの2つのELは、出力「myvalue」を返す必要がありますが、実際には理由がわかりません。
${param.values["myparam"]["0"]}
${param.values.myparam[0]}
この情報はどこから入手しましたか?これは、標準の JSP 2.1 EL では機能しません。正しい構文は次のとおりです。
${param["myparam"]}
${param.myparam}
最初の例では、一重引用符も使用できますが、実際にはより優先されます。
${param['myparam']}
任意のスコープ内の別の EL 変数にすることもできます。
${param[myparam]}
実際には、は配列の最初のパラメーター値のみ${param}
を持つ を参照します。理論的Map<String, String>
には、それが で、クラスにメソッドがある場合、構文は機能するはずです。しかし、それはありません。方法があるだけです。あなたの最善の策は、次を参照する代わりに使用することです:Map<String, String[]>
Map
getValues()
values()
${paramValues}
Map<String, String[]>
${paramValues['myparam'][0]}
${paramValues.myparam[0]}
または直接アクセスHttpServletRequest#getParameterMap()
する:
${pageContext.request.parameterMap['myparam'][0]}
${pageContext.request.parameterMap.myparam[0]}