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>
JSTL(c标签)与Struts2(s标签)标签的常用功能对比的更多相关文章
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- Struts2【UI标签、数据回显、资源国际化】
Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...
- JSTL 核心标签库 使用(C标签)
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...
- struts2 s:if标签以及 #,%{},%{#}的使用方法
<s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...
- struts2 if正确标签示例
下面总结一下struts2 中if标签的使用 (1)判断字符串是否为空 <s:if test="user.username==null or user.username==''&quo ...
- struts2 s:if标签以及 #,%{},%{#}的使用方法等在资料整理
<s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...
- struts2<s:property />标签
struts2的<property />标签是输出标签 其value属性是指定输出的内容,如果value属性没有写出来,则默认输出对象栈栈顶的元素. 例如,我们在对象栈中添加一个Perso ...
- Struts2的OGNL标签详解
一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...
- 解决struts2中UI标签出现的问题: The Struts dispatcher cannot be found
解决struts2中UI标签出现的问题: The Struts dispatcher cannot be found 异常信息: The Struts dispatcher cannot be fou ...
随机推荐
- Vue零散知识点
1.vue中的<router-view></router-view>的作用,它是和vue的路由相结合的,它的作用是将路由匹配到的组件渲染在里面.比如说你要跳转,如何没有< ...
- GPU下train 模型出现nan
When training on GPU, the error "Model diverged with loss = NaN" is often caused by a sotm ...
- JavaEE 学习框架
JavaSE JavaWeb基础 ssh+hibernate+spring ssm+spring+mybatis 项目1 电商项目(项目二)
- 解决Too many connections问题
有些人觉得,解决too many connections问题,灰非简单,down了mysql,修改my.cnf调大max_connections,好吧,你想法是没错的,这的确可以解决问题,但试问对于线 ...
- Linux学习笔记:sed删除、插入数据
一.sed删除文件第一行 sed -i '1d' file.txt -- 删除第一行 sed -i 'nd' file.txt -- 删除第n行 sed -i '$d' file.txt -- 删除最 ...
- Air Raid HDU 1151
题意 给定n个路口 加上一些单向路 求遍历完所有路口需要多少人 人是空降的 哪里都可以作为起点 求 最小边覆盖 (用最少的边覆盖所有的点) 也叫最小路径覆盖(更形象) 也叫二分图的最大独立集 ...
- 前端Hack之XSS攻击个人学习笔记
简单概述 ** 此篇系本人两周来学习XSS的一份个人总结,实质上应该是一份笔记,方便自己日后重新回来复习,文中涉及到的文章我都会在末尾尽可能地添加上,此次总结是我在学习过程中所写,如有任 ...
- Oracle数据库游标,序列,存储过程,存储函数,触发器
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理, ...
- Spring-Session实现Session共享入门教程
任何一种技术的出现,都是来解决特定的问题的! 本篇开始学习Spring-Session相关的一些知识学习整理,让我们开始吧! Spring-Session介绍 Spring-Session使用的场景? ...
- BZOJ2190 [SDOI2008]仪仗队 [欧拉函数]
题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...