6
如果我有喜歡的網址:servlet.jsp?myparam=myvalue
PARAM:在JSP隱EL(表達式語言)對象
這2名應將ELS返回輸出「myvalue的」,但其實我不明白,爲什麼?:
${param.values["myparam"]["0"]}
${param.values.myparam[0]}
如果我有喜歡的網址:servlet.jsp?myparam=myvalue
PARAM:在JSP隱EL(表達式語言)對象
這2名應將ELS返回輸出「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]}
感謝您的回答。我是這麼想的。 這實際上是uCertify prepEngine軟件爲SCWCD提供的一個「正確」答案。我只是想確定並聽取一些意見。 – matus 2010-06-16 13:14:13
不客氣。 – BalusC 2010-06-16 16:22:12