struts2常用标签Word格式.docx
《struts2常用标签Word格式.docx》由会员分享,可在线阅读,更多相关《struts2常用标签Word格式.docx(52页珍藏版)》请在冰点文库上搜索。
![struts2常用标签Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/b2727cef-bd37-4c65-9f5c-c04cf0f3aae7/b2727cef-bd37-4c65-9f5c-c04cf0f3aae71.gif)
Transitional//EN"
>
html>
head>
title>
Condition
Flow<
/title>
/head>
body>
h3>
/h3>
s:
set
name="
name"
value="
%=
'
+
request.getParameter("
)
/>
if
test="
#name
==
Max'
s
file
here
/s:
if>
elseif
Scott'
elseif>
else>
Other'
/body>
/html>
Iterator
2)、iterator
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)
import="
java.util.List"
java.util.ArrayList"
%
List
list
=
new
ArrayList();
list.add("
Max"
);
Scott"
Jeffry"
Joe"
Kelvin"
request.setAttribute("
names"
list);
Iterator<
Names:
ol>
iterator
#request.names"
status="
stuts"
#stuts.odd
true"
li>
White
property
/li>
li
style="
background-color:
gray"
iterator>
/ol>
--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。
IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。
这些信息在我们做格式化的时候,显得非常有用。
-->
3)、i18n
加载资源包到值堆栈。
它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包
Internationization<
i18n
ApplicationMessages"
text
HelloWorld"
i18n>
4)、include
包含一个servlet的输出(servlet或jsp的页面)
Interator
Page<
include
/condition.jsp"
param
Max<
param>
include>
i18n<
/i18n.jsp"
5)、param
为其他标签提供参数,比如include标签和bean标签.参数的name属性是可选的,如果提供,会调用Component的方法addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口(如TextTag)
value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子:
paramname="
color"
blue<
/param>
--(A)-->
value="
blue"
--(B)-->
(A)参数值会以String的格式放入statck.
(B)该值会以java.lang.Object的格式放入statck
6)、set
set标签赋予变量一个特定范围内的值。
当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。
其在两种情况下非常有用:
复杂的表达式很耗时(性能提升)或者很难理解(代码可读性提高)
7)、text
支持国际化信息的标签。
国际化信息必须放在一个和当前action同名的resourcebundle中,如果没有找到相应message,tagbody将被当作默认message,如果没有tagbody,message的name会被作为默认message
8)、url
该标签用于创建url,可以通过"
param"
标签提供request参数
当includeParams的值时'
all'
或者'
get'
param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值
URL<
a
href='
url
/a>
br
id="
url"
url>
href="
%{url}"
if\elseif\else<
a>
9)、property
得到'
value'
的属性,如果value没提供,默认为堆栈顶端的元素
数据标签
action标签
action标签可以允许在JSP页面中直接调用Action,因为需要调用Action,故可以指定需要被调用Action的name及namespace,如果指定了executeResult参数的属性值为true,该标签还会把Action的处理结果(视图资源)包含在本页面中来
属性:
id:
这是一个可选属性,该属性将作为该Action的引用ID
name:
这是一个必填属性,通过该属性指定该标签调用那个Action
namespace:
这是一个可选属性,该属性指定该标签调用的Action所在的namespace
executeResult:
这是一个可选属性,该属性指定是否要将Action的处理结果页面包含到本页面,该属性默认值是false,即不包含
ignoreContextParams:
这是一个可选参数,它指定该页面中的请求参数是否需要传入调用的Action,该参数的默认值是false,即将本页面的请求参数传入被调用的Action
packagetest;
importorg.apache.struts2.ServletActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassTagActionextendsActionSupport{
privateStringauthor;
publicStringgetAuthor(){
returnauthor;
}
publicvoidsetAuthor(Stringauthor){
this.author=author;
//定义第一个处理逻辑
publicStringexecute()throwsException{
return"
done"
;
//定义第二个处理逻辑
publicStringlogin()throwsException{
ServletActionContext.getRequest().setAttribute("
author"
getAuthor());
}
Action类包含了两个处理逻辑,可以在struts.xml文件中通过指定method属性来将该Action类映射成两个逻辑Action,
packagename="
test"
extends="
struts-default"
<
--定义第一个Action,使用test.TagAction的execute方法作为处理逻辑-->
actionname="
tag1"
class="
test.TagAction"
<
resultname="
succ.jsp<
/result>
/action>
--定义第二个Action,使用test.TagAction的login方法作为处理逻辑-->
tag2"
method="
login"
loginSucc.jsp<
<
/package>
在JSP页面中使用<
action>
标签来调用这两个逻辑Action
下面调用第一个Action,并将结果包含到本页面中<
br>
executeResult="
hr/>
下面调用第二个Action,并将结果包含到本页面中<
阻止本页面请求参数传入Action<
ignoreContextParams="
下面调用第二个Action,且不将结果包含到本页面中<
false"
propertyvalue="
#attr.author"
property>
bean标签
bean标签用于创建一个JavaBean实例,可以在该标签体内受用<
param…/>
标签为该JavaBean实例传入属性,当需要传入属性值,则应该为JavaBean类提供对应的setter方法;
需要访问属性值,则应该提供getter方法
该属性是一个必填属性,指定要实例化的JavaBean的实现类
该属性是一个可选属性,如果指定,则该JavaBean实例会被放入StackContext中,从而允许直接通过id属性来访问该实例
publicclassPerson{
privateStringname;
privateintage;
publicPerson(){
super();
//TODOAuto-generatedconstructorstub
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
}
JSP页面中<
bean…/>
标签访问
--使用bean标签创建一个test.Person类的实例-->
beanname="
test.Person"
--使用param标签为test.Person类的实例传入参数-->
zhangsan"
age"
20"
--因为在bean标签内,test.Person实例位于ValueStack的栈顶,故可以直接访问实例-->
bean>
当指定id属性,就可以将该实例放在StackContext中,即使不在<
标签内,也可以通过id属性访问:
--使用bean标签创建一个test.Person类的实例,为其指定了id属性-->
id="
p"
test2"
30"
--根据JavaBean实例指定id属性来访问该实例-->
#p.name"
/>
#p.age"
date标签
date标签用于格式化输出一个日期,属性:
format:
这是可选属性,指定它,将根据指定的格式来格式化日期
nice:
可选,只能为true或false,用于指定是否输出指定日期合当前时刻之间的时差,默认为false(不输出时差)
必填,要格式化的日期值
可选,
如果即指定nice=”true”,也指定format,则输出时差,format失效
//生成一个Date实例
java.util.Datenow=newjava.util.Date(107,12,23,13,23,24);
//设置成一个pageContext属性
pageContext.setAttribute("
now"
now);
%>
nice="
且指定format="
dd/MM/yyyy"
datename="
#attr.now"
format="
nice="
hr>
debug标签
debug标签主要用于辅助调试,在页面上生成一个超级链接,通过该链接可以查看到ValueStack和StackContext中所有的值信息
debug/>
2、UI标签
UI标志又可以分为表单UI和非表单UI两部分。
表单标签:
两种:
form标签本身和单个表单元素的标签,form标签本身的行为不同于表单元素标签
表单标签的通用属性
所有表单标签处理类都继承了UIBean类,UIBean包含了一些通用属性:
-模板相关属性:
templateDir:
指定该表单所用的模板文件目录
theme:
指定该表单所用的主题
template:
指定该表单所用的模板
-JavaScript相关属性:
onclick:
指定鼠标在该标签生成的表单元素上单击时触发的JavaScript函数
ondbclick:
指定鼠标在该标签生成的表单元素上双击时触发的JavaScript函数
onmousedown:
指定鼠标在该标签生成的表单元素上按下时触发的JavaScript函数
onmouseup:
指定鼠标在该标签生成的表单元素上松开时触发的JavaScript函数
onmouseover:
指定鼠标在该标签生成的表单元素上悬停时触发的JavaScript函数
onmouseout:
指定鼠标移出该标签生成的表单元素时触发的JavaScript函数
onfocus:
指定该标签生成的表单元素得到焦点时触发的函数
onblur:
指定该标签生成的表单元素失去焦点时触发的函数
onkeypress:
指定单击键盘上某个健时处触发的函数
onkeyup:
指定松开键盘上某个健时触发的函数
onkeydown:
指定按下键盘上某个健时触发的函数
onselect:
对下拉列表项等可以选择表单元素,指定选中该元素时触发的JavaScript函数
onchange:
对于文本框等可以接受输入的表单元素,指定当值改变时触发的JavaScript函数
上面属性并不是对Struts2的每个标签都有效
-通用属性:
为表单元素设置提示,Tooltip:
tooltip:
设置此组件的Tooltip
tooltioIcon:
设置Tooltip图标的URL路径
tooltipAboveMousePointer:
是否在光标位置上显示Tooltip,也可通过设置tooltipOffseY属性,设置Tooltip与光标位置的垂直位移
tooltopBgColor:
设置Tooltip的背景色
tooltipBgImg:
设置Tooltip的背景图片
tooltipBorderWidth:
设置Tooltip边框的宽度
tooltipBorderColor:
设置Tooltip边框的颜色
tooltipDelay:
设置显示Tooltip的时间延迟(毫秒)
too