使用JSP的Request.getParameter

时间:2012-03-26 13:27:39

标签: jsp

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

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

 alert('<%=request.getParameter("lang") %>');

所以我知道我要做的事情很容易。但是当我使用:

在我的select语句中添加相同的逻辑时
<option <c:if test="${request.getParameter(\"lang\")=='En'}"> selected="selected" </c:if>    value="<c:out value="${english}"/>">English</option>

我得到一个例外,“当未指定默认命名空间时,函数getParameter必须与前缀一起使用”。

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

提前致谢

2 个答案:

答案 0 :(得分:12)

EL无法解决

request.getParameter()。可以使用隐式变量param访问请求参数。即,${param.lang}

更改此

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

<option <c:if test="${param.lang == 'En'}"> selected="selected" </c:if> value="${english}">English</option>

答案 1 :(得分:3)

另一种方式:

<option <c:if test='${param[lang] == "En"}'> selected="selected" </c:if>
    value="${english}">

    English
</option>

确保在JSP之上添加了c-taglibs URI。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>