Struts2常用标签总结
002
一 介绍
003
1.Struts2的作用
004
Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。
005
Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用
006
2.Struts2分类
007
(1)UI标签:(User Interface, 用户界面)标签,主要用于生成HTML元素标签,UI标签又可分为表单标签非表单标签
008
(2)非UI标签,主要用于数据访问,逻辑控制等的标签。非UI标签可分为流程控制标签(包括用于实现分支、循环等流程控制的标签)和数据访问标签(主要包括用户输出ValueStack中的值,完成国际化等功能的)
009
(3)ajax标签
010
3.Struts2标签使用前的准备:
011
(1)在要使用标签的jsp页面引入标签库:
012
<%@ taglib uri="/struts-tags" prefix="s"%>
013
(2)在web.xml中声明要使用的标签 这样是struts2 2.3.1.2版本的引入方式
014
<
filter
>
015
filter-name
>struts2</
016
filter-class
>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</
017
</
018
4.标签的使用
019
(1)property标签
020
用于输出指定的值:
021
s:property
value
=
"%{@cn.csdn.hr.domain.User@Name}"
/><
br
/>
022
"@cn.csdn.hr.domain.User@Name"
Br
<!-- 以上两种方法都可以 -->
023
"%{@cn.csdn.hr.domain.User@study()}"
024
以上可以访问某一个包的类的属性的集中方式,study()是访问方法的方法,并输出。
025
026
027
以下用java代码代替的,访问某一个范围内的属性
028
<%
029
//采用pageContext对象往page范围内存入值来 验证#attr搜索顺序是从page开始的 ,搜索的顺序为:page,reques,session,application。
030
set存值的时候存到的是request中,在jsp页面中访问的时候不用加任何的标识符,即可直接访问,如果不同的作用域不一样了,
031
pageContext.setAttribute("name", "laoowang", PageContext.PAGE_SCOPE);
032
%>
033
"#attr.name"
034
035
036
假设在action中设置了不同作用域的类
037
不同的作用域的标签的访问:
038
039
h3
>获取的是requet中的对象值</
040
第一种方式:<
"#request.user1.realName"
041
042
第二种方式:<
"#request.user1['realName']"
043
044
第三种方式:<
"#user1.realName"
045
046
第四种方式:<
"#user1['realName']"
047
048
第五种方式:${requestScope.user1.realName } || ${requestScope.user1['realName'] }
049
050
第六种:<
"#attr.user1.realName"
051
attr对象按page==> request sessionapplictio找的
052
053
054
>获取session中的值</
055
"#session.user1.realName"
056
057
"#session.user1['realName']"
058
059
060
第五种方式:${sessionScope.user1.realName } || ${sessionScope.user1['realName'] }
061
062
>获取application中的对象的值</
063
"#application.user1.realName"
064
065
"#application.user1['realName']"
066
067
068
第五种方式:${applicationScope.user1.realName } || ${applicationScope.user1['realName'] }
069
070
(2)iterator标签的使用
071
第一种:list集合
072
<!-- 设置set集合 value-->
073
<!-- status 可选属性,该属性指定迭代时的IteratorStatus实例 -->
074
<!-- value="#attr.list" list存放到了request中 可以value="#request.list"
075
statu.odd返回当前被迭代元素的索引是否是奇数
076
-->
077
s:set
name
"list"
"{'a','b','c','d'}"
></
078
s:iterator
var
"ent"
"#request.list"
status
"statu"
079
s:if
test
"%{#statu.odd}"
080
font
color
"red"
><
"#ent"
081
082
083
s:else
084
085
086
087
088
第二种:map集合中的使用
089
>Map集合</
090
<!-- map集合的特点:
091
语法格式:# {key:value,key1:value1,key2:value2,.....}
092
以上的语法中就直接生成了一个Map类型的集合,该Map对象中的每个key-value对象之间用英文的冒号隔开
093
,多个元素之间用逗号分隔。
094
095
div
096
097
"map"
"#{'1':'laowang','2':'老王','3':'猩猩'}"
098
遍历Map:
099
100
"#map"
101
"key"
/>:::<
"value"
102
103
>\
104
105
第三种:集合的变量
106
>遍历集合:::</
107
108
<!-- 遍历出价格大于3000的 -->
109
"user"
"#session['users']"
110
test="%{#user['price']>3000}">
111
"#user['price']"
112
113
114
115
116
hr
"blue"
<!-- $是取出价格 大于3000的最后一个值 -->
117
"u"
value="#session.users.{$(#this['price']>3000)}">
118
"price"
119
120
121
注:users是User的对象,price是User中的一个属性
122
123
简述一下iterator的介绍:
124
iterator标签用于对集合进行迭代,这里的集合包含List、Set和数组。
125
"{'zhangming','xiaoi','liming'}"
126
"#list"
"st"
127
color=<s:if
"#st.odd"
>red</
>blue</
>>
128
/></
129
130
value:可选属性,指定被迭代的集合,如果没有设置该属性,则使用ValueStack栈顶的集合。
131
id:可选属性,指定集合里元素的id。
132
status:可选属性,该属性指定迭代时的IteratorStatus实例。该实例包含如下几个方法:
133
int getCount(),返回当前迭代了几个元素。
134
int getIndex(),返回当前迭代元素的索引。
135
boolean isEven(),返回当前被迭代元素的索引是否是偶数
136
boolean isOdd(),返回当前被迭代元素的索引是否是奇数
137
boolean isFirst(),返回当前被迭代元素是否是第一个元素。
138
boolean isLast(),返回当前被迭代元素是否是最后一个元素。
139
140
141
(3)if else语句的使用
142
"age"
"21"
143
"#age==23"
144
23
145
146
s:elseif
"#age==21"
147
21
148
149
150
都不等
151
152
153
(4)URL标签
154
<!-- 声明一个URL地址 -->
155
s:url
action
"test"
namespace
"/tag"
"add"
156
s:param
"username"
>laowangang</
157
"id"
>12</
158
159
s:a
href
"%{add}"
>测试URL</
160
161
以上的两个<
>标签的作用是一样的。
162
(5)data标签
163
164
pageContext.setAttribute("birth",new Date(200,03,10),PageContext.REQUEST_SCOPE);
165
166
s:date
"#request.birth"
format
"yyyy年MM月dd日"
167
nice
"true"
168
这个标签是按照format的格式去输出的。
169
170
(6)表单
171
172
173
h1
>from表单</
174
s:form
175
s:textfield
label
"用户名"
"uname"
tooltip
"你的名字"
javascriptTooltip
"false"
176
s:textarea
"rmake"
cols
"40"
rows
"20"
tooltipDelay
"300"
"hi"
"备注"
177
s:password
"密码"
"upass"
178
s:file
"file"
"上传文件"
179
s:hidden
"1"
180
181
<!--
182
<select name="edu">
183
<option value="listKey">listValue</option>
184
185
s:select
list
"#{'1':'博士','2':'硕士'}"
"edu"
"学历"
listKey
listValue
186
187
"{'java','.net'}"
"java"
<!-- value是选中的 -->
188
189
<!-- 必须有name -->
190
s:checkbox
"爱好 "
fieldValue
"checkboxFiled1"
191
192
<!-- 多个checkbox -->
193
s:checkboxlist
"{'java','css','html','struts2'}"
"喜欢的编程语言"
"box"
"{'css','struts2'}"
194
195
196
<!-- map集合前要加# -->
197
"#{1:'java',2:'css',3:'html',4:'struts2',5:'spring'}"
"boxs"
"{1,2}"
198
199
200
<!-- listKey
201
202
203
<input type="text" name="boxs" value="listKey">显示值listValue
204
205
206
<!-- radio -->
207
208
//从服务器传过来值
209
pageContext.setAttribute("sex","男",PageContext.REQUEST_SCOPE);
210
pageContext.setAttribute("sex1","男",PageContext.REQUEST_SCOPE);
211
212
s:radio
"{'男','女'}"
"sex"
"#request.sex"
213
214
215
"#{1:'男',2:'女'}"
"sex1"
"#request.sex1"
216
217
<!-- 防止表单提交的方式 -->
218
s:token
219
220
s:submit
"提交"
221
您还没有登录,请您登录后再发表评论
struts2常用标签总结,适合 初学者
struts2常用标签方法总结
pio + itext 生成报表 几大框架问题 Struts2常用标签总结等 Word文件">包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE ...
6.其它常用标签的使用(代码参名为“补充”的文件夹下的tag.jsp) 45 七、国际化 47 1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49...
里面总结了一些struts中常用的标签,每个标签都有例子
Struts1标签的详细说明,及使用举例,总结了常用的到一些情况的处理。
12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点 9、 Struts项目实施经验 10、 总结 ...
Struts如何实现Model 2, MVC 639 Struts 控制流 639 Struts framework的工作原理和组件 642 Struts ActionServlet控制器对象 642 Struts Action Classes 642 搞定Action对象 643 处理异常 643 Action的分类 643 ...
{1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果 ,同时提高系统的灵活性、重用性和维护性。...
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...
Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式...
8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源...
2 常用功能处理方式 9 2.1 如何执行条件查询 9 2.1.1 查询示例 9 2.1.2 查询限制 9 2.1.2.1 Like 9 2.1.2.2 In 10 2.1.2.3 Between 10 2.1.2.4 Equal 10 2.1.2.5 NotEqual 10 2.1.2.6 GreaterThan 10 2.1.2.7 ...
相关推荐
struts2常用标签总结,适合 初学者
struts2常用标签方法总结
pio + itext 生成报表 几大框架问题 Struts2常用标签总结等 Word文件">包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE ...
6.其它常用标签的使用(代码参名为“补充”的文件夹下的tag.jsp) 45 七、国际化 47 1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49...
里面总结了一些struts中常用的标签,每个标签都有例子
Struts1标签的详细说明,及使用举例,总结了常用的到一些情况的处理。
12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点 9、 Struts项目实施经验 10、 总结 ...
Struts如何实现Model 2, MVC 639 Struts 控制流 639 Struts framework的工作原理和组件 642 Struts ActionServlet控制器对象 642 Struts Action Classes 642 搞定Action对象 643 处理异常 643 Action的分类 643 ...
{1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果 ,同时提高系统的灵活性、重用性和维护性。...
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...
Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式...
8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源...
8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源...
2 常用功能处理方式 9 2.1 如何执行条件查询 9 2.1.1 查询示例 9 2.1.2 查询限制 9 2.1.2.1 Like 9 2.1.2.2 In 10 2.1.2.3 Between 10 2.1.2.4 Equal 10 2.1.2.5 NotEqual 10 2.1.2.6 GreaterThan 10 2.1.2.7 ...