Jsp页面标签

本小妞迷上赌 提交于 2020-03-01 03:38:07
1.JSTL(c标签)Struts2(s标签)标签的常用功能对比

1.1. 条件标签 JSTL

<c:if test="${user.password == 'hello'}">     
   <c:choose>         
     <c:when test="${user.age <= 18}">             
<font color="blue"/>         
     </c:when>         
 <c:when test="${user.age <= 30 && user.age > 18}">             
<font color="red"/>         
     </c:when>         
     <c:otherwise>             
<font color="green"/>         
     </c:otherwise>     
</c:choose>
</c:if>

STRUTS2:

<s:if test="#user.age <= 18">     
    <font color="blue"/>
</s:if>
<s:elseif test="#user.age <= 30 && user.age > 18">     
     <font color="red"/>
</s:elseif>     
     <font color="green"/>
</s:else>

1.2.迭代标签
JSTL:   

<c:forEach var="user" items="${users}">     
    <c:out value="${user.userName}"/>
</c:forEach><!-- 迭代固定次数 -->
<c:forEach var="i" begin="1" end="10" step="3">    
     <c:out value="${i}"/>
</c:forEach><!-- 这种循环相当于for(int i=1; i<10; i++), 其中step是指迭代的步长,默认为1. -->

struts2:

<s:iterator value="#users" status="stuts">     
  <s:if test="#stuts.odd == true">   <!-- 判断是否为奇数行 -->         
      <s:property value="userName"/>     
   </s:if>     
   <s:else>         
      <s:property value="passWord"/>
    </s:else>
</s:iterator>
2.<c:foreach>标签

2.1.循环遍历输出所有元素 
<c:foreach items="${list}" var="li"> 
    ${li} 
</c:foreach> 
注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。 
2.2.循环遍历,输出一个范围类的元素。 
<c:foreach items ="${lis}" var = "li " begin="2" end ="12"> 
   ${li} 
</c:foreach> 
注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin end的引号必须写。 
2.3.循环遍历,输出除某个元素以外的元素或输出指定元素。 
<c:foreach items="${list}" var ="li" varStatus="status"> 
<c:if text="${status.count==1}> 
   ${"第一个元素不要"} 
</c:if> 
${li} 
</ c:foreach> 
注意:varStatus 表示当前集合的状态(其实是不是,我也不太清楚,只知道这样用,会的人指点下),count为循环一个计算器。 
2.4.循环遍历,输出第一个或最后一个元素。 
<c:foreach items="${list}" var ="li" varStatus="status"> 
  <c:if test="${status.first}">我是第一个元素</c:if> 
  <c:if test="${status.last}">我是最后一个元素</c:if> 
</c:foreach> 
注意:first表示如果是一个元素,则返回ture,反之则返回false 
     last 表示如果是最后一个元素,则返回ture,反之则返回false
2.5.循环遍历,按指定步长输出。
<c:foreach items="list" var ="li" step="2">
   ${li}
</c:foreach>
注意:step为循环的步长。每次隔两个单位输出一个。如:135==

3.Struts2标签s:checkboxlist的用法
<label class="control-label" for="">权限项</label>  
<div class="controls">  
    <label class="checkbox inline">  
          <s:checkboxlist list="permissionPageList" listKey="nameKey"    listValue="nameKey" value="selected" name="newPermissions"/>  
    </label>  
 </div>

list="permissionPageList"action中的list,里面放置的是权限对象permissions 
listKey="nameKey" 这里的nameKey对应后台permissionPageList集合中permissions这个对象的的属性nameKeylistKey的值也是将要传入后台的值,传入后台后这个只放置newPermissions集合中; 
listValue="nameKey" 是显示在页面上的内容; 
name="newPermissions" 这是将勾选的选项的listKey="nameKey"传入后台; 
value="selected" 这是回显的,就是默认的打钩的选项,selectedaction中定义的List集合,用来存放listValue="nameKey"中的nameKey的值,把想要默认打钩的listValue="nameKey"nameKeyaction中加入selected集合即可 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!