如何让JSTL里的变量在JSP中使用?
如题 问题点数:20、回复次数:5Top
1 楼JeromeLiu(烛光)回复于 2005-02-02 16:36:04 得分 10
jstl中的变量在赋值<c:set>的时候有个scope属性,它是用来设置该变量的作用域的,可以是
page
request
session
application
默认是page,同一jsp页面有效
这四个scope对应在jsp中可以通过
pageContext.getAttribute()
request.getAttribute()
session.getAttribute()
application.getAttribute()
得到值。
如下:
<c:set var="a" value="hello a" scope="request" />
<c:set var="b" value="hello b"/>
<%
out.print(request.getAttribute("a") + "<br>");
out.print(pageContext.getAttribute("b"));
%>
同理,也可以从jsp中得到变量放入jstl的变量中。Top
2 楼zyzjaffery(Irish Chinese)回复于 2005-02-02 16:52:56 得分 10
如果你是比较新的JSP规范的话可以在JSP里这样用
<c:set var="a" value="xxx" scope="xxx"/>
&{pageScope.a}
&{requestScope.a}
&{sessionScope.a}
&{applicationScope.a}
比如:<jsp:setProperty name="xxx" property="xxx" value="&{pageScope.a}"/>
当然也可以是:<c:set name="xxx" property="xxx" value="&{pageScope.a}"/>Top
3 楼zyzjaffery(Irish Chinese)回复于 2005-02-02 16:54:06 得分 0
对不起上面写错了 应该是${}不是&{} 不好意思Top
4 楼lvyuanfang()回复于 2005-02-02 17:05:50 得分 0
就是呀,var加上scope=request就相当于request.setAttribute(var,varvalue);Top
5 楼singedcat(以夢為馬)回复于 2005-02-04 10:47:29 得分 0
upTop




