action标签,
可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.
如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中.
使用action标签指定属性有:
id: 可选属性,作为该Action的引用ID
name:必选属性,指定调用Action
namespace:可选属性,指定该标签调用Action所属namespace
executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
<s:action name="actionTag!default" executeResult="true" namespace="/generic/dataTag">
<param name="username" value=" "/> 给action属性复制
<param name="email" value=" "/>
</s:action>
bean 实例化一个javabean 使用Param传入属性 (get/set)
name 实例化的javabean的实现类
var 可选 指定则实例放入栈的上下文 允许用var直接使用
注意:bean标签内创建javabean实例位于栈顶,bean结束移除值栈,除非指定var则通过上下文访问
date格式化输出日期,指定日期与当天日期的时间差
formart 指定格式格式日期 注意:不欲nice同时指定,如果同时指定。则忽略formart
nice 是否指定日期与当前日期差值
name 必填 格式化的日期值
var 对象放入值栈,在date结束可以通过该属性的值引用
<constan name="sruts.custom.i18n.resources" value="ApplicationResources" />
<s:date name="#date" formart="yyyy年MM月dd日"/>
debug标签:
用于辅助调试.在页面上生成超链接,可以查看值栈,和StackContext中所有信息
id 钙元素的一个引用id
include:讲一个jsp或者servlet包含到当前页面
value 包含的JSP或Servlet。
可以指定多个param子标签传参
param标签:为其它标签提供参数
name 设置的参数的名字 (set) value设置的参数的值
用法①<param name="color">
②<param name="color" value=" 'color' "/>
push:将某个值放到值栈的栈顶
value必填:指定放入值栈的栈值 !但是只在push标签内,一旦超出,刚刚放入的对象立即被移除
用法:
<s:push value="#session.user">
<s:property value="username">
<s:property value="sex">
<s:property value="emai">
</s:push>
set:用于将某个只放入指定范围内
定义一个新变量。将已有值放入新变量。并放入指定范围
value 指定一个表达式,计算的结果赋变量,如果没有指定value属性,默认将栈顶对象赋给变量。
var 指定该属性,改值放入到值栈中
scope 指定新变量防止的范围,可选application,session request page action(默认) 如果指定为action放入request并放入action值栈
name变量名字
i18n text标签 支持国际化信息
i18n将资源包放入值栈 name资源属性名字 指定资源包的基名
text从资源包中获取信息 title 获取键为title的消息
通过i18n放入的资源包只能在标签体内访问
text可以单独使用。首先查找资源包的基名与调用action类名相同的资源包,意味着,可以在action类所在的包中创建与Action类名相同的的资源文件,可以嵌套param指定消息文本的参数,顺序对应参数索引顺序
<s:i18n name="AppliactionResources">
<s:text name="title"/> name资源属性名字 id指定属性,文本内容不会输出,而是保 存在值栈中,在text结束后,可以通过属性的值来引用
</s:i18n>
public class TextTagAction extends ActionSupport{} 《topic-21》
url标签用于创建URL地址,定义param附加请求参数
action value 指定生成URL的Action和URL。前一个会附加.action。如果两个都没有则以当前地址为地址值
achor 可选 指定url的锚点
encode 可选 对指定参数进行编码 不支持cookie改写url支持session
escapeamp 是否将&转义为&
var 将链接值放入到值栈
includeContext是否将当前上下文包含在URL地址
includeParams是否包含请求参数,改属性值只能为none,get all
method 指定使用action的方法
namespace指定action所属的命名空间
portletmode 指定portle模式
scheme指定url使用的协议
property标签,用于输出值栈中的对象的属性值
value 指定要输出的对象属性 没有则输出栈顶
default 可选 value为null输出改值
escape 是否专一输出内容中的html
控制标签
if/elseif/else控制选择输出的标签 iterator将集合迭代输出
append merge 拼接一个新的集合,但两者有所不同
generator 字符串解析器 将字符串解析成集合
sort 排序 subset 截取集合部分元素
if/elseif/else 分支控制 根据表达式值,绝对是否计算,输出标签体的内容
test 必填 确定执行判断的boolean表达式
id 非 表示元素的id《UI FORM 转换成htmlid属性》
<s:if test="#score < 60">
不及格
</s:if>
<s:elseif test"#score >= 60">
及格
</s:elseif>
<s:else>
优秀
</s:else>
iterator 迭代集合 list set 数组
value 指定被迭代的集合。OGNL表达式 无。则栈顶
id 表示元素id
status 迭代过程状态信息 iteratorStatus
getCount 当前元素总数 count属性
getIndex 当前元素锁芯 index
getEven 当前元素顺序是否是偶数 even
isOdd 元素的顺序是否是奇数 odd
isFirst 当前元素是否的第一个元素 first
isLast 当前元素是否是最后一个元素 last
<s:iterator value="{ ' key1 ' : ' value1 ' , ' key2 ' : ' value2 ' }" status=“status”>
<s:property value="#status.count">
<s:property value="key"> <s:property value="value"/>
</s:iterator>
append 将不同的迭代器组合 ,将多个对象拼接 通常与iterator一起使用
var 拼接新生成的集合名称 一个或者多个自标签指定要一起迭代的集合
顺序 为1 2 3 4 即 第一集合的1,2个元素。第二个集合的1,2个元素
<s:append id=" myAppend">
<s:param value="{ ' 1 ' , ' 2 ' }"/>
<s:param value="{ ' 3 ' , ' 4 ' }"/>
</s:append>
<s:iterator value=" #myAppend" status="status">
<s:property >
</s:iterator>
merge 将不同的迭代器组合 将多个对象拼接
var 拼接新生成的集合名称
顺序 即 第一集合的1个元素。第二个集合的1个元素,第一个集合的2个元素,第二个集合的第二个元素,一次类推
generator讲一个字符串解析成一个集合
val 必须 指定解析的字符串 separator 指定用于解析val属性的分隔符
count指定生成的迭代器中可用的元素数量 converter指定转换器,可将各个字符串转换成为对象
var 将生成的迭代器对象放入值栈中
原理根据separator将val拆分,生成迭代器,压入栈顶,可在标签内使用iterator取出栈顶的迭代器,对拆分的各个部分进行迭代
只有两个元素可用 可以在迭代器外用names访问迭代器
<s:generator val=" 'zhangsan,lisi,wangyu' separator="," count="2" id = 'names'>
<s:iterator>
<s:property>
</s:iterator>
</s:generator>
subset 取得集合的子集 标签内直接遍历集合
source 指定解析的字符串 start指定从源集合的第几个元素截取默认0
count 指定截取的元素总数 decider 指定decider判断某个特定的元素是否包含在子集
var 生成的迭代器设置成 page范围的属性
开始索引为1,截取总数为2 指定id可以在外部使用
<s:subset id="list" source=" { ' one ' , ' two ' , ' three ' , ' four ' } " start="1" count="2">
<s:iterator>
<s:property >
</s:iterator>
</s:subset>
sort 指定集合元素进行排序 必须实现自己的comparator属性 内部使用iterator迭代
source 指定排序的集合,不实用,则栈顶作为排序的集合
comparator 必须 指定比较器。必须实现 java.util.Comparator
var 排序后对象设置成 page范围的属性
public class MyComparator implements Comparator{
public int compare(Object obj1,Object obj2){
String str1 = (String)obj1;
String str1 = (String)obj1; return str1.compareTo(obj2);
}
}
<s:sort source="{'2','4','3','1'}" comparator="MyComparator">
<s:iterator>
<s:property>
</s:iterator>
</s:sort>
如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中.
使用action标签指定属性有:
id: 可选属性,作为该Action的引用ID
name:必选属性,指定调用Action
namespace:可选属性,指定该标签调用Action所属namespace
executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
<s:action name="actionTag!default" executeResult="true" namespace="/generic/dataTag">
<param name="username" value=" "/> 给action属性复制
<param name="email" value=" "/>
</s:action>
bean 实例化一个javabean 使用Param传入属性 (get/set)
name 实例化的javabean的实现类
var 可选 指定则实例放入栈的上下文 允许用var直接使用
注意:bean标签内创建javabean实例位于栈顶,bean结束移除值栈,除非指定var则通过上下文访问
date格式化输出日期,指定日期与当天日期的时间差
formart 指定格式格式日期 注意:不欲nice同时指定,如果同时指定。则忽略formart
nice 是否指定日期与当前日期差值
name 必填 格式化的日期值
var 对象放入值栈,在date结束可以通过该属性的值引用
<constan name="sruts.custom.i18n.resources" value="ApplicationResources" />
<s:date name="#date" formart="yyyy年MM月dd日"/>
debug标签:
用于辅助调试.在页面上生成超链接,可以查看值栈,和StackContext中所有信息
id 钙元素的一个引用id
include:讲一个jsp或者servlet包含到当前页面
value 包含的JSP或Servlet。
可以指定多个param子标签传参
param标签:为其它标签提供参数
name 设置的参数的名字 (set) value设置的参数的值
用法①<param name="color">
②<param name="color" value=" 'color' "/>
push:将某个值放到值栈的栈顶
value必填:指定放入值栈的栈值 !但是只在push标签内,一旦超出,刚刚放入的对象立即被移除
用法:
<s:push value="#session.user">
<s:property value="username">
<s:property value="sex">
<s:property value="emai">
</s:push>
set:用于将某个只放入指定范围内
定义一个新变量。将已有值放入新变量。并放入指定范围
value 指定一个表达式,计算的结果赋变量,如果没有指定value属性,默认将栈顶对象赋给变量。
var 指定该属性,改值放入到值栈中
scope 指定新变量防止的范围,可选application,session request page action(默认) 如果指定为action放入request并放入action值栈
name变量名字
i18n text标签 支持国际化信息
i18n将资源包放入值栈 name资源属性名字 指定资源包的基名
text从资源包中获取信息 title 获取键为title的消息
通过i18n放入的资源包只能在标签体内访问
text可以单独使用。首先查找资源包的基名与调用action类名相同的资源包,意味着,可以在action类所在的包中创建与Action类名相同的的资源文件,可以嵌套param指定消息文本的参数,顺序对应参数索引顺序
<s:i18n name="AppliactionResources">
<s:text name="title"/> name资源属性名字 id指定属性,文本内容不会输出,而是保 存在值栈中,在text结束后,可以通过属性的值来引用
</s:i18n>
public class TextTagAction extends ActionSupport{} 《topic-21》
url标签用于创建URL地址,定义param附加请求参数
action value 指定生成URL的Action和URL。前一个会附加.action。如果两个都没有则以当前地址为地址值
achor 可选 指定url的锚点
encode 可选 对指定参数进行编码 不支持cookie改写url支持session
escapeamp 是否将&转义为&
var 将链接值放入到值栈
includeContext是否将当前上下文包含在URL地址
includeParams是否包含请求参数,改属性值只能为none,get all
method 指定使用action的方法
namespace指定action所属的命名空间
portletmode 指定portle模式
scheme指定url使用的协议
property标签,用于输出值栈中的对象的属性值
value 指定要输出的对象属性 没有则输出栈顶
default 可选 value为null输出改值
escape 是否专一输出内容中的html
控制标签
if/elseif/else控制选择输出的标签 iterator将集合迭代输出
append merge 拼接一个新的集合,但两者有所不同
generator 字符串解析器 将字符串解析成集合
sort 排序 subset 截取集合部分元素
if/elseif/else 分支控制 根据表达式值,绝对是否计算,输出标签体的内容
test 必填 确定执行判断的boolean表达式
id 非 表示元素的id《UI FORM 转换成htmlid属性》
<s:if test="#score < 60">
不及格
</s:if>
<s:elseif test"#score >= 60">
及格
</s:elseif>
<s:else>
优秀
</s:else>
iterator 迭代集合 list set 数组
value 指定被迭代的集合。OGNL表达式 无。则栈顶
id 表示元素id
status 迭代过程状态信息 iteratorStatus
getCount 当前元素总数 count属性
getIndex 当前元素锁芯 index
getEven 当前元素顺序是否是偶数 even
isOdd 元素的顺序是否是奇数 odd
isFirst 当前元素是否的第一个元素 first
isLast 当前元素是否是最后一个元素 last
<s:iterator value="{ ' key1 ' : ' value1 ' , ' key2 ' : ' value2 ' }" status=“status”>
<s:property value="#status.count">
<s:property value="key"> <s:property value="value"/>
</s:iterator>
append 将不同的迭代器组合 ,将多个对象拼接 通常与iterator一起使用
var 拼接新生成的集合名称 一个或者多个自标签指定要一起迭代的集合
顺序 为1 2 3 4 即 第一集合的1,2个元素。第二个集合的1,2个元素
<s:append id=" myAppend">
<s:param value="{ ' 1 ' , ' 2 ' }"/>
<s:param value="{ ' 3 ' , ' 4 ' }"/>
</s:append>
<s:iterator value=" #myAppend" status="status">
<s:property >
</s:iterator>
merge 将不同的迭代器组合 将多个对象拼接
var 拼接新生成的集合名称
顺序 即 第一集合的1个元素。第二个集合的1个元素,第一个集合的2个元素,第二个集合的第二个元素,一次类推
generator讲一个字符串解析成一个集合
val 必须 指定解析的字符串 separator 指定用于解析val属性的分隔符
count指定生成的迭代器中可用的元素数量 converter指定转换器,可将各个字符串转换成为对象
var 将生成的迭代器对象放入值栈中
原理根据separator将val拆分,生成迭代器,压入栈顶,可在标签内使用iterator取出栈顶的迭代器,对拆分的各个部分进行迭代
只有两个元素可用 可以在迭代器外用names访问迭代器
<s:generator val=" 'zhangsan,lisi,wangyu' separator="," count="2" id = 'names'>
<s:iterator>
<s:property>
</s:iterator>
</s:generator>
subset 取得集合的子集 标签内直接遍历集合
source 指定解析的字符串 start指定从源集合的第几个元素截取默认0
count 指定截取的元素总数 decider 指定decider判断某个特定的元素是否包含在子集
var 生成的迭代器设置成 page范围的属性
开始索引为1,截取总数为2 指定id可以在外部使用
<s:subset id="list" source=" { ' one ' , ' two ' , ' three ' , ' four ' } " start="1" count="2">
<s:iterator>
<s:property >
</s:iterator>
</s:subset>
sort 指定集合元素进行排序 必须实现自己的comparator属性 内部使用iterator迭代
source 指定排序的集合,不实用,则栈顶作为排序的集合
comparator 必须 指定比较器。必须实现 java.util.Comparator
var 排序后对象设置成 page范围的属性
public class MyComparator implements Comparator{
public int compare(Object obj1,Object obj2){
String str1 = (String)obj1;
String str1 = (String)obj1; return str1.compareTo(obj2);
}
}
<s:sort source="{'2','4','3','1'}" comparator="MyComparator">
<s:iterator>
<s:property>
</s:iterator>
</s:sort>