引入jstl标签库

项目导入standard.jar ,jstl.jar包
在jsp页面加入如下句:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
可使用EL表达式
导入struts2 的s标签库,在struts2 项目中
<%@ taglib prefix="s" uri="/struts-tags"%>
转载:http://blog.csdn.net/chabale/article/details/9406437

JSTL(c标签)与Struts2(s标签)标签的常用功能对比

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>

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>

3. URL相关标签    JSTL:

<!-- 绝对路径 -->
<c:import url="http://127.0.0.1:8080/hello/hello.jsp"/><!-- 相对路径 -->
<c:import url="hello.jsp"/><!-- Encode -->
<a href="<c:url value='hello.jsp'><c:param name='userName' value='cyanbomb' /></c:url>"></a><!-- 传递参数到指定的URL -->
<c:import url="hello.jsp" charEncoding="gb2312">      <c:param name="userName" value="cyanbomb"/></c:import><!-- URL重定向 -->
<c:redirect url="${myurl}"/><!-- 构造URL -->
<c:url value="myurl" var="hello.jsp" scope="session"><c:param name="userName" value="cyanbomb"/></c:url>

Struts2:

<a href='<s:url value="/hello.jsp" />'>Hello</a><br />
<s:url id="url" value="/hello.jsp"><s:param name="name">cyanbomb</s:param></s:url>
<s:a href="%{url}">Hello</s:a>

解除的疑问,list遍历问题

像这样一个list,里面有3条记录,每条记录包含两个对象,我把结果集(lstRooms)request到了页面,想遍历显示RrmRooms里的id,和RrmRoomType里的name. 我用JSTL实现如下:

<table>     
<c:forEach var="rm" items="${lstRooms}">         
<tr>             
<td>${rm[0].id}</td>             
<td>${rm[1].name}</td>         
<tr>     
</c:forEach></table>

STRUTS2实现如下:

<table>     
<s:iterator value="#lstRooms" status="stat">         
<tr>             
<td>
<s:property value="#lstRooms[#stat.index][0].id"/>
</td>             
<td>
<s:property value="#lstRooms[#stat.index][1].name"/>
</td>         
<tr>     
</s:iterator>
</table>

混合使用:

struts2标签与jstl标签的混合使用

  • 一些标签,毕竟struts2的有些标签使用起来还是比较方便 
项目中常常会出现struts2标签和jstl标签混和用的情况,比如在自定义标签或者在循环标签等 
1.在jstl中使用struts2

Java代码  
  1. <c:forEach var="ee" items="${requestScope.serviceList}" >
  2. jstl:<c:out value="${ee.id}"></c:out>
  3. el:${ee.id}
  4. struts2: <s:property value="#attr.ee.id"/>
  5. </c:forEach>

通过struts2标签取jstl标签的变量时,如果有设置scope,可以从scope中取值 
如果没有就需要用#attr来取值 
2.从jstl标签中获取值

Java代码  
  1. <c:set var="ctime" value="${el.createtime}" scope="request"/>
  2. <c:set var="ctime2" value="${el.createtime}" />
  3. <s:property value="#request.ctime"/>
  4. <s:property value="#attr.ctime2"/>

3.在struts2标签中使用jstl

Java代码  
  1. <s:iterator value="#request.serviceList" id="bs">
  2. struts2:<s:property value="#bs.keyid"/>
  3. el:${bs.keyid}
  4. jstl:<c:out value="${bs.keyid}"></c:out>
  5. </s:iterator>

4.从struts2标签中取值

Java代码  
  1. <!-- 数字类型 -->
  2. <s:set name="pp" value="11"></s:set>
  3. struts2:<s:property value="#pp"/>
  4. el:${pp}
  5. jstl:<c:out value="${pp}"></c:out>
  6. <!-- 字符串类型 -->
  7. <s:set name="pp2" value="'abc'" scope="request"></s:set>
  8. struts2:<s:property value="#request.pp2"/>
  9. el:${pp2}
  10. jstl:<c:out value="${pp2}"></c:out>

struts2 标签库:http://www.cnblogs.com/taoweiji/p/3259783.html

JSTL(c标签)与Struts2(s标签)标签相关推荐

  1. Struts2中UI标签之表单标签介绍

    1.在Struts2中UI标签的表单标签分为两种:form标签本身和单个表单标签. 2.Struts2表单标签包括:form.textfield.password.radio.checkbox.che ...

  2. struts2中使用标签操作静态方法等

    2019独角兽企业重金招聘Python工程师标准>>> 有的时候对<%%>特别敏感,不想用jsp的<% %>来调用java类中的静态方法,这时候我们可以用st ...

  3. Struts2 分割字符串标签s:generator

    Struts2 分割字符串标签s:generator有些时候会从后台返回一个字符串,可以通过Strut2的标签s:generator进行分割.generator标签,该标签可以将指定字符串按指定分隔符 ...

  4. html标签库jar包,struts2的s标签库jar包

    这是struts2的s标签库jar包下载,Struts2的一些核心组件,帮助Struts2核心控制器更好的完成对web框架的设计,是使用Struts2不可缺少的组件,如果没有这个文件可能会造成一些软件 ...

  5. JSP标签:jsp内置标签、jstl标签、自定义标签

     一.jsp标签的分类: 1)内置标签(动作标签): 不需要在jsp页面导入标签 2)jstl标签: 需要在jsp页面中导入标签 3)自定义标签 : 开发者自行定义,需要在jsp页面导入标签    1 ...

  6. struts2 s:if标签以及 #,%{},%{#}的使用方法

    struts2 s:if标签以及 #,%{},%{#}的使用方法 <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.us ...

  7. struts2 的form 标签theme属性

    struts2中theme属性包括xhtml,html,simple,ajax .默认是xhtml theme:设置struts2标签的主题,默认为xhtml. theme=xhtml时:会默认额外生 ...

  8. struts2的select标签的用法

    Struts2的select使用     来自网上 struts2的select标签中,常用的有以下几个属性: (1)struts2中的select 标签中,必须设置的属性只有一个,即是list. ( ...

  9. Struts2之数据标签(二)

    Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...

最新文章

  1. 2个月做出一款AI项目?这些学生在DeeCamp上决出两个总冠军
  2. PIL实现两张图片合成一张,和图片加文字
  3. Nginx设置静态页面压缩和缓存过期时间的方法 (转)
  4. asp.net ajax1.0基础回顾(六):调用ASPX页面方法
  5. spring中的注解配置
  6. 于我,过去,现在和未来 —— 西格里夫·萨松
  7. leetcode104. 二叉树的最大深度(层序遍历09)
  8. mysql中char与varchar的区别分析
  9. 电脑音频服务未运行怎么解决_电脑提示音频服务未运行怎么办,快来看看吧,图片描述(最多50字)...
  10. HDU 4546 比赛难度 (优先队列 * * )
  11. 2020年Deribit成交量达2110亿美元 同比增长82%
  12. 用new创建一个二维数组,有两种方法,是等价的
  13. android activity传值到dialog,android 自定义AlertDialog 与Activity相互传递数据
  14. Windows live messenger (WLM)邀请大放送--MSN8.0版(有条件)
  15. layui 上传图片回显并点击放大实现
  16. 个人收款解决方案之三方聚合收款方案
  17. 去掉flash player自带的fff新推荐广告插件
  18. jvm-垃圾回收(垃圾收集器)
  19. visio2013如何画箭头
  20. 说说互联网公司中产品经理的几个指标

热门文章

  1. 美赛思光盘打印刻录机 黑匣子N6210蓝光刻录服务器
  2. EDIUS字幕窗口中保存和自动另存为该怎样区分
  3. linux刻录iso到u盘
  4. 黑客技术零基础入门怎么学(黑客初级入门)
  5. qt自定义控件-模拟Android toast提示窗口
  6. 求java Array和及平均数
  7. 编译openwrt到s3c2410(1)
  8. 数据库系统(软件设计师备考笔记)
  9. 微信小程序项目实例——生活记账本
  10. 广东技术师范大学计算机考研资料汇总