param : JSP 中的隐式 EL(表达式语言)对象

2024-04-24

如果我有这样的 URL 怎么办:servlet.jsp?myparam=myvalue

这 2 个 EL 应返回输出“我的价值”,但我其实不明白为什么?:

${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>仅包含数组中的第一个参数值。在theory,如果它是一个Map<String, String[]>Map班级有一个getValues()方法,那么你的语法应该可以工作。但它没有,它只有一个values()方法。那么你最好的选择就是使用${paramValues}相反,它指的是Map<String, String[]>:

${paramValues['myparam'][0]}
${paramValues.myparam[0]}

或访问HttpServletRequest#getParameterMap() http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameterMap%28%29直接地:

${pageContext.request.parameterMap['myparam'][0]}
${pageContext.request.parameterMap.myparam[0]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

param : JSP 中的隐式 EL(表达式语言)对象 的相关文章

随机推荐