数据标签

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   是否将&转义为&amp
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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值