<div class="it610-blog-content-contain" style="font-size: 14px">
页面标准标签
<!--jsp:useBean标签-->
<jsp:useBean id(属性名称)="BeanName"
scope(存储作用域)="page/当前页面/request/一次请求内/session/一个会话内/application/整个服务器"
class="className/完整包名.类名 如domain.Beans.UserBean"
/>
例子:
<jsp:useBean id="myBean" scope="request" class="domain.Beans.UserBean"/><==>等价于JavaCode:UserBean myBean=(UserBean)request.getAttribute("myBean");
if(myBean==null){myBean=new UserBean;request.setAttribute("myBean");}
<!--jsp:setProperty标签-->
<jsp:setProperty name="zyh" property="name"/> <==>JavaCode:zyh.setName(request.getAttribute("name"));
--请求参数名相同时
<jsp:setProperty name="zyh" property="email" param="emailAddress"/><==>JavaCode:zyh.setEmail(request.getAttribute("emailAddress"));
--请求参数名与Bean属性名称不同时
<jsp:setProperty name="zyh" property="sex" value="male"/><==>JavaCode:zyh.setSex("male");//强制指定属性值
<jsp:setProperty name="zyh" property="*"/><==>JavaCode:zyh.set*();//调用所有Setter方法为Bean赋值
<!--jsp:getProperty标签-->
<jsp:getProperty name="BeanName" property="propertyName"/><==>JavaCode:out.print(zyh.getHobby());
<!--EL表达式-->
\${表达式}//可在jsp页面中作为打印语句
EL访问Bean
${(Scope).BeanName.Parameter}//显示结果为Bean中的Para属性值,Ps.scope--作用域,自动隐藏,不赋值则从pageContext到application自动查找BeanName
${balabala.fruit[2]}//将取得balabala中的fruit数组中的第二个元素的值
EL表达式中重要的隐含对象(Scope)有pageContext,Param,paramValues,Header,HeaderValues,Cookies and etc.
较为重要的四个有PageScope,requestScope,sessionScope,applicationScope
<!--JSTL标签库-->
<prefix:name var="varName" value="value" [Scope='{request..-->Application}']/>
赋值的两种方式:
1.<prefix:name var="varName" value="123457890" [Scope='{request..-->Application}']/>
2.<prefix:name var="varName" [Scope='{request..-->Application}']>123457890</prefix:name>
例子:<c:set var="PageTitle">这个是页面的标题</c:set> 等价于<==><c:set var="PageTitle" value="这个是页面的标题"/>
等价于<==><c:set var="PageTitle" value="${para.title}"/>
<!--c:set标签-->
<!--作用:在作用域中存储变量 或者更新JavaBean实例及Map属性-->
<c:set var="PageTitle">作用域中存储变量</c:set>
<c:set target="targetName" property="propertyName" value="value"/>
//说明:target为修改Bean的名字,property为修改bean的属性值名称,value为修改后的值.
<!--if标签-->
<c:if test="expression" var="varName" [Scope=..]>
body prepare to execute if expression equal true......
//test为需要判断的表达式,var为判断结果的存放变量
</c:if>
<!--foreach标签-->
<c:foreach items="collection/Iterator/Map/Enumeration/数组/以逗号分隔的字符串"
[var="varName"]循环体中可以见到的临时变量,相当于循环的当前元素
[varStatus="varStatusName"]指定循环中可见的变量名称,包含当前状态,如当前的位置信息.约等于当前循环的计数变量
[begin="begin"]指定循环中的起始项
[end="end"]指定循环中的终止项
[step="step"]指定循环中跳过的元素
>
body prepare to execute
</c:foreach>
Ps.如果不指定Items的值则必须指定Begin和End元素的值
例子:
<c:foreach var="person" items="${personList}">
<li>${person}</li>
</c:foreach>
//将会遍历personlist并将person打印出来
<!--url标签-->
<c:url value="value" [var="varName"] [Scope...]/>
//value代表重写的URL var代表将存放URL的名称
</div>