代码改变世界

JSP中的<c:set/>

2018-02-02 19:02  开发潜力  阅读(4567)  评论(0编辑  收藏  举报

将value搜索的值储存至范围为scope的varName变量之中:
<c:set value=value var=varName [scope={ page|request|session|application }]/> 将本体内容的数据储存至范围为scope的varName变量之中:
<c:set var=varName [scope={ page|request|session|application }]>
… 本体内容
</c:set> 将value的值储存至target对象的属性中:
c:set value=value target=target property=propertyName /> 将本体内容的数据储存至target对象的属性中:
<c:set target=target property=propertyName>
… 本体内容
</c:set>
它有如下属性属性描述是否必须缺省值:  名 称  说 明  EL  类型  必须  默认值  value  要被储存的值  Y  Object  否  无  var  欲存入的变量名称  N  String  否  无  scope  var变量的JSP范围  N  String  否  pagescope  target  为一JavaBean或java.util.Map对象  Y  Object  否  无  property  指定target对象的属性  Y  String  否  无  如果指定了target属性, 那么property属性也必须指定。
注意:如果你在一个JSP页面中设置了<c:set var=reqURL value=XXXX></c:set>并且想在一个<jsp:include page=pager.jsp flush=true/>的页面中使用此参数,那么,必须要制定这个reqURL的有效范围,即<c:set var=reqURL scope=request value=${ctxt}/Position_Mypub?op='${requestScope.op}'></c:set>
例:
<c:set value=${test.testinfo} var=test2 scope=session />
将test.testinfo的值保存到session的test2中,其中test是一个javabean的实例,testinfo是test对象的属性。
<c:set target=${cust.address} property=city value=${city}/>
将对象cust.address的city属性值设置为变量city的值。
教材例程15-3,c_set.jsp,<c:set>标签的应用。
<%@ taglib prefix=c uri=http://java.sun.com/jstl/core %>
<%@ page contentType=text/html; charset=gb2312 language=java %>
<jsp:useBean id=user class="com".jspdev.ch3.TestBean/>
<html>
<head>
<title>JSTL:的使用c:set</title>
</head>
<body bgcolor=#FFFFFF>
<hr>
设置userName的属性为hellking,然后输出这个属性值:
<c:set value=hellking var=userName/>
<c:out value=${userName}/>
<hr>设置password的属性,属性值在body中,然后输出这个属性值:
<c:set var=password>
xcsdkjf234dfsgs234234234
</c:set>
<c:out value=${password}/>
<hr>设置javaBean的属性,然后输出这些属性值:
<c:set value=hk2 target=${user} property=userName/>
<c:set target=${user} property=password>
sdf234sdfd
</c:set>
userName=<c:out value=${user.userName}/>,
password=<c:out value=${user.password}/>.
<hr>设置不同的属性,并且指定它们的范围:
<c:set value=10000 var=maxUser scope=application/>
<c:set value=20 var=maxIdelTime scope=session/>
<c:set value=next.jsp var=nextPage scope=page/>
</body>
</html>