Struts2知识点小结--标签

Struts Tag Library

于一个MVC框架而言,重点是实现二个部分: 控制器部分和视图部分。 Struts2框架同如此:控制器部分由
Action(
以及藏的系列截器)来提供支持,而视图部分大量标签来提供支持。

Struts2标签库使用OGNL表达式作 且默支持OGNL, JSTL, GroovyVelcity表达式。且把所有标签
URI /struts-tags 命名空下,但我依然可以依据功能将其分

1. UI标签;
   a.
单标签

   b.
非表单标签Tab等;

2. UI标签
   a.
流程控制: 条件、循
   b.
数据访问 ValueStack中的

3. AJAX标签;


Object Graph Navigation Language,
OGNL,是似于EL的脚本言,


. 控制标签

    Struts2中的非UI标签包括控制标签和数据标签,其中控制标签可以完成出流程控制,例如条件、循等操作,
   
也可完成集合的合并、排序等操作,它有如下九个:

    1) if: 选择输出;
    2) elseIf/elseif:
if标签结合使用;
    3) else:
if标签结合使用
    4) append:
将多个集合拼接成一个新的集合;
    5) generator:
将一个字符串解析成一个集合;
    6) iterator:
将集合迭代出;
    7) merge:
将多个集合拼接成一个新集合,与append拼接方式不同;
    8) sort:
集合行排序;
    9) subset:
截取集合部分元素,形成新的子集;

    1. iterator标签

       集合行迭代,包括List,Set和数Map.

       . value: ,被迭代的集合,通常使用OGNL表达式指定,如无,使用ValueStack栈顶集合;
       . id:
,指向集合中元素;
       . status:
,指向迭代IteratorStatus例,通过该实例可判断当前迭代元素的属性;次迭代都有
                
一个IteratorStatus例,该实例包含以下方法:

         a. int getCount(): 返回当前迭代了几个元素
         b. int getIndex():
返回当前迭代元素的索引
         c. boolean isEven():
当前索引是否偶数
         d. boolean isFirst():
当前迭代元素是否是第一个元素
         e. boolean isLast():
当前迭代元素是否是最后一个元素
         f. boolean isOdd():
当前索引是否奇数

    2. if标签

       根据一个Boolean表达式的,来决定是否算,标签体等内容。
      
    3. append
标签

       将多个集合象拼接起来,成一个新的集合。
      
其中 id 属性确定拼接生成的新集合的名字。 append可接受多个<s:param ..../>标签个子标签指定一个集合,
append
      
<s:param..../>指定的多个集合拼接成一个集合;

    4. generator标签

       将指定字符串按指定分隔符分隔成多个子串,临时生成的多个子串可以使用iterator标签来迭代出。

       a. count: 指定生成集合中元素数;
       b. separator:
指定解析字符串的分隔符;
       c. val:
指定被解析的字符串;
       d. converter:
,指定一个负责将集合中个字符串转换象;
       e. id:
指定访问集合的名称,如指定,集合放在pageContext属性中;

    5. merage标签

       功能和append似,但是新集合中各元素序不同:

       append
       1)
第一个集合第一个元素;
       2)
第一个集合第二个元素;
       3)
第一个集合第三个元素;
       4)
第二个集合第一个元素;
       5)
第二个集合第二个元素;
       6)
第二个集合第三个元素;
       7)
第三个集合第一个元素;
       8)
第三个集合第二个元素;
       9)
第三个集合第三个元素;

       merage
       1)
第一个集合第一个元素;
       2)
第二个集合第一个元素;
       3)
第三个集合第一个元素;
       4)
第一个集合第二个元素;
       5)
第二个集合第二个元素;
       6)
第三个集合第二个元素;
       7)
第一个集合第三个元素;
       8)
第二个集合第三个元素;
       9)
第三个集合第三个元素;

    6. subset标签

       取得集合的子集:
       . count:
指定子集合元素个数;
       . source:
指定源集合,如不指定,取得ValueStack栈顶的集合;
       . start:
指定从源集合中第几个元素始截取,默契第一个(值为0);
       . decider:
指定由开发者是否元素;

    7. sort标签      

       于指定的集合行排序; 提供自己的排序规则,即提供实现 java.util.Comparator接口的实现类
       . comparator:
指定行排序的 Comparator 例;
       . source:
指定被排序的集合,如不指定,则针对 ValueStack栈顶的集合;


. 数据标签

    提供各数据访问的功能,包含示一个Action中属性以及生成国出等功能;

    1. property标签

       提供一快速、方便地方式从ValueStackActionContext示;

       . value: 指定出的属性,如没有指定,认输ValueStack栈顶;
       . default:
出属性值为 null, 则显 default 属性的

       . escape:
是否escape HTML , 认值为 true; < &lt;

    2. set 标签

       将一个已有的值复量,然后放到指定的范

       . name: 必填,新量名字
       . scope:
属性,指定新量放置的范,可以接受 application, session, request, page action 五个
              
认为 Action;
       . value:
赋给变量的,没指定,则为ValueStack栈顶

       . id:
元素的引用ID
      
    3. push
标签

       将某个放到valueStack中,从而更加方便访问

    4. bean 标签

       JavaBean例;

       . name: ,要例化的JavaBean的完整名;
       . var: 
,可通过该属性标签访问例化的JavaBean;

    5. Date 标签
      
      
格式化出日期以及算指定日期和当前差;

       . format: ,指定日期示格式;
       . nice:
, 是否出指定日期和当前差,默认值为 false;
       . name:
必填,日期
;
       . id:
,引用元素的 id

       如果既指定nice="true", 又指定 format 属性,出指定日期和当前差,即format属性失效;
      
如没有指定format属性,也没指定nice="true", 会到源文件中 key struts.date.format的消息作格式,否
      
采用默 DateFormat.MEDIUM格式出。

    6. action 标签     

       直接在JSP面中直接Action

       . id: Action的引用ID;
       . name:
用哪个
Action;
       . namespace:
Action所属的
namespace;
       . executeResult:
,是否将Action面包含到本面,默认值为
false;
       . ignoreContextParams:
该页面中求参数是否需用的Action, 认值为 false, 入。

    7. debug 标签

       用于调试,它在面上生成一个超级链接,通过该链接可以看到ValueStackStack Context中所有的信息;

    8. include 标签

       将一个JSPservlet包含到本面中:
       . value
必填, 指定包含的源;
       . id:
该标签ID引用;

    9. url 标签       
 
      
生成一个URL 地址,可以通过为url标签指定 param 子元素,从而向指定URL求参数。

       . includeParams: ,是否包含求参数,值为 none, get或者all.
       . scheme:
schema属性;

       . value:
,指定生成的URL,如果无valueaction就使用action指定ActionURL地址;
               
如果均提供,使用value指定URL;如均不提供,使用当前面作URL地址;
       . action:
,指定action;
       . namespace:
,指定命名空

       . method:
,指定使用Action的方法;
       . encode:
,是否需encode求参数;
       . includeContext:
是否需将当前上下文包含在URL地址中;
       . anchor:
,指定URL点;
       . id:
指定URL元素的引用ID

    10. i18ntext 标签 

        i18n用于示指定指定源文件;

        . name: 源文件名称;
 
        text
用于取指定源文件中指定key对应

        . name: 源文件 key
        . id: 
引用的标识;


. Form标签

    1. checkbox 标签    
 
        <s:set name="aBoolean" value="false"/><br>
        <s:checkbox label="checkbox test" name="checkboxField1" value="#aBoolean" fieldValue="true"/>
        <s:set name="aBoolean" value="true"/><br>
        <s:checkbox label="checkbox test" name="checkboxField1" value="#aBoolean" fieldValue="true"/>

       果:

    <input type="checkbox" name="checkboxField1" value="true" id="checkboxField1"/>
    <input type="checkbox" name="checkboxField1" value="true" checked="checked" id="checkboxField1"/>

    2. checkboxlist 标签  

       一次性建多个复选框,它根据list属性指定的集合来生成多个复选框;

       . listKey: 指定集合元素中的某个属性作为复选框的 value;
       . listValue:
指定集合元素中的某个属性作为复选框的 标签;

    3. combobox 标签 

       生成一个行文本框和下拉列表框的合,但两个表元素只对应一个求参数,只有行文本框里的才包含
      
求参数,而下拉列表框只是用于入,没name属性。

    4. doubleselect 标签 

       生成一个级联列表框, 选择第一个下拉列表框,第二个下拉列表框的内容会随之改

       . list: 第一个下拉列表框的集合;
       . listKey:
指定集合元素中某个属性作第一个下拉列表框的value;
       . listValue:
指定集合元素中某个属性作第一个下拉列表框的标签
;
       . doubleList:
第二个下拉列表框的集合;

       . doublelistKey:
指定集合元素中某个属性作第二个下拉列表框的value;
       . doublelistValue:
指定集合元素中某个属性作第二个下拉列表框的标签
;
       . doublename:
第二个下拉列表框的 name 属性;

       doubleselect标签一定得位于form中,且form指定action属性.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值