Struts2--标签tag
在Struts2框架中提供了一套标签库,可以与struts2无缝结合。
数据标签a、action、bean、date、debug、i18n、include、param、property、push、set、text、url
控制标签:if、elseif、else、append、generator、interator、merge、sort、subset
简单实例
property:用来取得值桟中的值。
<s:push value="myBean">
<!-- Example 1: -->
<s:property value="myBeanProperty" />
<!-- Example 2:
escapeHtml :表示是否跳过html,默认为true
-->TextUtils
<s:property value="myBeanProperty" default="a default value" escapeHtml=“false”/>
</s:push>
param:用来给其他标签传入参数
|-name:参数的名字
|-value:参数的值
|-suppressEmptyParameters:是否压缩空参数
set:用来声明一个在特定作用于的变量
作用域有:application、session、request、page、action
几个属性:
|-scope:作用域,默认是action
|-value:变量的值
|-var:变量的名字
*注意变量值的地方需要在双引号里面加单引号
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:set var="i" value="1"></s:set>
<s:property value="#i"/><br/>
<s:set var="xx" value="#i" scope="session"/>
<s:set var="a" value="'application范围的值'" scope="application"/>
<s:set var="s" value="'session范围的值'" scope="session"/>
<s:set var="r" value="'request范围的值'" scope="request"/>
<s:set var="p" value="'page范围的值'" scope="page"/>
<s:set var="ac" value="'action范围的值'" scope="action"></s:set> -------------------------<br/>
<s:property value="#session.xx"/><br/>
<s:property value="#ac" /><br/>
<s:property value="#attr.p" /><br/>
<s:property value="#request.r" /><br/>
<s:property value="#session.s" /><br/>
<s:property value="#application.a"/><br/> </html>
输出结果:
bean:用来定义一个java bean
|-name:bean的全路径类名字
|-var:定义的javabean的名字
package com.fuwh.model; public class Student { private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:bean name="com.fuwh.model.Student" var="student">
<s:param name="id" value="2"></s:param>
<s:param name="name" value="'张三'"></s:param>
</s:bean>
-------------------------<br/>
<s:property value="#student.id"/>
<s:property value="#student.name"/>
</body>
</html>
执行结果:
date:用不同的方式格式化日期
|-fromat:指定日期显示格式
|-name:需要被格式化的日期的值
|-nice:是否nicely的打印日期
|-timezone:格式化日期的时区
|-var:引用值桟中的日期
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
request.setAttribute("date",new Date());
%>
-------------------------<br/>
${date }<br/>
<s:date name="#request.date" format="yy-MM-dd hh:mm:ss"/>
</body>
</html>
输出结果:
debug标签:可以输出值桟中的值
<s:debug></s:debug>
url和a标签
url:创建一个url变量,可以在里面 用param标签来传入参数
a:创建一个url
includ:用来引入别的资源
<s:include value="head.jsp"></s:include>
控制标签
if,elseif,else
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
int age=18;
request.setAttribute("age", age);
%> <s:if test="#request.age>18">
已经成年
</s:if>
<s:elseif test="#request.age<18">
还没成年
</s:elseif>
<s:else >
刚好年芳18
</s:else>
</body>
</html>
iterator:用来循环输出
|-begin:循环输出的开始下标,默认0
|-end:循环输出的结束下标
|-status:代表下一个要被输出的
|-step输出的每次跳跃多少
|-value:被遍历的对象
|-var:代表每个取出的变量
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<%@ page import="com.fuwh.model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
List<Student> stuList=new ArrayList<Student>();
stuList.add(new Student(1,"fuwh"));
stuList.add(new Student(2, "zhangsan"));
stuList.add(new Student(3, "lisi"));
request.setAttribute("stuList", stuList);
%>
<table>
<tr>
<th>编号</th>
<th>学号</th>
<th>名字</th>
</tr>
<s:iterator value="#request.stuList" var="student" status="status">
<tr>
<td><s:property value="#status。index+1"/></td>
<td><s:property value="#request.student.id"/></td>
<td><s:property value="#request.student.name"/></td>
</tr>
</s:iterator>
</table> </body>
</html>
append:把输出的对象叠加起来
|-var:代表叠加后的对象名
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<%@ page import="com.fuwh.model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
List<Student> stuList=new ArrayList<Student>();
stuList.add(new Student(1,"fuwh"));
stuList.add(new Student(2, "zhangsan"));
stuList.add(new Student(3, "lisi"));
request.setAttribute("stuList", stuList);
List<Student> stuList2=new ArrayList<Student>();
stuList2.add(new Student(1,"fuwh"));
stuList2.add(new Student(2, "zhangsan"));
stuList2.add(new Student(3, "lisi"));
request.setAttribute("stuList2", stuList2);
%>
<s:append var="stuList3">
<s:param value="#request.stuList"></s:param>
<s:param value="#request.stuList2"></s:param>
</s:append>
<table>
<tr>
<th>编号</th>
<th>学号</th>
<th>名字</th>
</tr>
<s:iterator value="stuList3" var="student" status="status">
<tr>
<td><s:property value="#status.index+1"/></td>
<td><s:property value="id"/></td>
<td><s:property value="name"/></td>
</tr>
</s:iterator>
</table> </body>
</html>
generator标签
用来分割生成一个迭代输出器。
Merge标签
用来组合
Sort标签
排序标签
Subset标签
截取
界面标签
Form标签
Text标签
Radio标签
Checkboxlist标签
Select标签
其他标签
Struts2--标签tag的更多相关文章
- struts2官方 中文教程 系列三:使用struts2 标签 tag
避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- struts2标签整理
在JSP2.1中#被用作了JSP EL(表达式语言)的特殊记好,所以对OGNL的使用可能导致问题, 一个简单的方法是禁用JSP2.1的EL特性,这需要修改web.xml文件: Java代码 ...
- 引用 struts2标签详解 - wo的的日志 - 网易博客
引用 元元 的 struts2标签详解 引用 COLD 的 struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@t ...
- struts2框架学习笔记7:struts2标签
三大标签: 1.JSP:脚本,为了替代servlet,已过时 2.JSTL:标准标签库(core.format.sql.xml),还未淘汰的只有core库 3.Struts2标签库:由Struts2开 ...
- ognl,jstl,struts2标签中符号#,$,%的用法
STRUTS2标签操作Map <s:iterator value="sundayMap"> <td colspan="7" ...
- struts2标签使用详解
Struts2常用标签总结一 介绍1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码 ...
- JSP使用Struts2标签库报错
JSP中使用<%@ taglib prefix="s" uri="/struts-tags" %>报错:Cannot find the tag li ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- struts2 标签 和 c标签的页面数据显示
用struts2 标签显示的页面代码 <s:if test="#request.employees == null || #request.employees.size() == 0& ...
随机推荐
- Maven学习笔记一
maven是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的. Maven好处 1.普通的传统项目,包含jar包,占用空间很大.而Maven项目不包含jar包,所以占用空 ...
- 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能
此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...
- 201621123060《JAVA程序设计》第十四周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 用 ...
- Oracle查询用户权限
Oracle查询用户权限 -- 确定角色的权限select * from role_tab_privs ; 包含了授予角色的对象权限select * from role_ro ...
- Vue filter介绍及详细使用
Vue filter介绍及其使用 VueJs 提供了强大的过滤器API,能够对数据进行各种过滤处理,返回需要的结果. Vue.js自带了一些默认过滤器例如: capitalize 首字母大写 uppe ...
- volt问题
1./表示当前目录:/college/detail/{{ item.sid }}表示这个路径超链接,url实在不好写就不写,作为开发人员想怎么弄就怎么弄最后发布是项目主管的事 2.不需要服务器给值,直 ...
- 使用JavaScript实现一个俄罗斯方块
清明假期期间,闲的无聊,就做了一个小游戏玩玩,目前游戏逻辑上暂未发现bug,只不过样子稍微丑了一些-.-项目地址:https://github.com/Jiasm/tetris在线Demo:http: ...
- Oracle 使用pl/sql将表中的数据读出到文件中
(1)在服务器上创建文件路径及文件 [oracle@redhat errormsg]$ touch test01.txt (2)在数据库中创建路径及授权 (3)创建存储过程 CREATE OR REP ...
- Python内置函数(10)——float
英文文档: class float([x]) Return a floating point number constructed from a number or string x. If the ...
- Mego开发文档 - 快速概述
Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...