在jsp的请求范围内设置jstl变量。
<c:set var="name" value="Tiger" scope="request" />该变量是从该jsp包含的jspf访问的。现在,用这两种方式访问变量有什么不同吗?
1) <c:out value="${name}" />
2) <c:out value="${requestScope.name}" />什么时候使用requestScope?
发布于 2013-10-01 19:26:02
当您绝对希望对象来自请求,而不是来自页面、会话或应用程序作用域时,可以使用requestScope。Inded,使用${name}将在页面中搜索name属性,然后在请求中,然后在会话中,然后在应用程序中。
假设JSP中的一些其他代码在页面范围内设置了一个name属性。但是您想要访问请求中的名称:您被迫使用requestScope。
假设会话可能有一个name属性。如果requestScope.name忘记在请求作用域中设置名称属性,则不使用该名称将返回会话范围的名称。
如果JSP片段的目标是访问在封闭的JSP中设置的内容,那么这个JSP片段可能应该是一个JSP标记,并且您应该将名称作为参数传递给这个标记。
发布于 2015-03-04 09:57:24
在我的研究中(我也是jstl的新手),请求范围可以从响应页面设置请求页面的值。例如,假设我们有一个称为index.jsp的页面,它的操作页面是jstl。
如果是我们,则将值设置为操作页面
<c:set var="nme" scope="request" value="Janaka aravinda"/>
<% request.getRequestDispatcher("index.jsp").forward(request, response); %>(//我创建了nme变量,并将其值设置为Janaka aravinda。并返回到重新加载请求页面(index.jsp))
现在,我们可以按照以下请求值在index.jsp nme变量中调用nme
<c:out value="${nme}"/>https://stackoverflow.com/questions/19112098
复制相似问题