使用JSP的Request.getParameter

Fra*_*ser 9 jsp

我正在尝试根据请求参数自动填充下拉列表.我是JSP的新手,请原谅我这个简单的问题.

以下工作正常并正确显示警报:

 alert('<%=request.getParameter("lang") %>');
Run Code Online (Sandbox Code Playgroud)

所以我知道我要做的事情很简单.但是当我使用以下命令在我的select语句中添加相同的逻辑时:

<option <c:if test="${request.getParameter(\"lang\")=='En'}"> selected="selected" </c:if>    value="<c:out value="${english}"/>">English</option>
Run Code Online (Sandbox Code Playgroud)

我得到一个异常说"当未指定默认命名空间时,函数getParameter必须与前缀一起使用".

我有点困惑,为什么这在这里不起作用......

提前致谢

Ram*_*PVK 12

request.getParameter()将不会由EL解决.可以使用隐式变量访问请求参数param.即${param.lang}

改变这个

<option <c:if test="${request.getParameter(\"lang\")=='En'}"> selected="selected" </c:if>    value="<c:out value="${english}"/>">English</option>
Run Code Online (Sandbox Code Playgroud)

<option <c:if test="${param.lang == 'En'}"> selected="selected" </c:if> value="${english}">English</option>
Run Code Online (Sandbox Code Playgroud)