在JSP中使用JSTL请求范围

时间:2014-02-02 08:18:17

标签: jstl

我在JSP中

<c:set var="reqTypes" value="${requestType }" scope="request" />

我无法在控制器中访问

String[] requestType = ParamUtil.getParameterValues(req, "reqTypes");

我收到“requestType”为null。

可能是什么原因?

1 个答案:

答案 0 :(得分:0)

有几个原因。

  1. 如果ParamUtilgetParameterValues()命名良好,控制器将尝试访问请求参数,但JSP会设置请求属性。这根本不是一回事。参数是浏览器在发布表单(或单击/foo/bla?param1=value1&param2=value2形式的链接)时以字符串形式发送的内容。属性是服务器存储在请求中的任意对象,以便请求处理链中的下一个组件可以找到并使用它们。

  2. 如果体系结构是经典的MVC,则JSP在控制器之后执行,而不是之前执行,并且您在JSP中设置请求属性。因此,只要处理了当前请求,这些属性就会消失。