struts_tag

内容如下:

struts_tag

 

 

通用标签: property , set ,bean ,  include  , param , debug

set标签 (1)默认为actionscope ,会将值放入request 和 actioncontext中,

                 (2)这是可设置的其它范围值 page ,  request , session  ,  application 

include 标签:对中文文件支持有问题,不建议使用,如需包含,改用jsp包含

 

 property:

<li>property: <s:property value="username"/> </li>

<li>property 取值为字符串: <s:property value="'username'"/> </li>

<li>property 设定默认值: <s:property value="admin" default="管理员"/> </li>

<li>property 设定HTML: <s:property value="'<hr/>'" escape="false"/> </li>

property取值为字符串里面的要加单引号。

property设定HTML ,如果escape为false,则,<hr/>不显示,为true,在页面显示。

结果演示:

struts_tag

 set

 <li>set 设定adminName值(默认为request 和 ActionContext): <s:set var="adminName" value="username" /></li>

        

 <li>set 从request取值: <s:property value="#request.adminName" /></li>

 <li>set 从ActionContext取值: <s:property value="#adminName" /></li>

<li>set 设定范围: <s:set name="adminPassword" value="password" scope="page"/></li> <li>set 从相应范围取值: <%=pageContext.getAttribute("adminPassword") %></li> <li>set 设定var,范围为ActionContext: <s:set var="adminPassword" value="password" scope="session"/></li> <li>set 使用#取值: <s:property value="#adminPassword"/> </li> <li>set 从相应范围取值: <s:property value="#session.adminPassword"/> </li>

 

定义一个变量adminName, 它的值是username的值。如果没有设置scope的值,那么这个值默认放在request 和 actioncontext里面。

设定set的范围为page,用<%  -- %>取值。

set中用 name,只会出现在相应的范围里面去,但是用 var,会出现在actioncontext里面,name这个已经被废弃了。

如果set的范围为默认的actioncontext,那么可以用#取值。

如果set的范围设置的为session,那么用 #session.adminPassword

总结: 动手试试看,在debug里面检查一下,放到哪就用相应的方法去取值。

(set标签通常用来换名字,简化长的名字。)

 

bean 和 param

       <li>bean 定义bean,并使用param来设定新的属性值:

            <s:bean name="com.bjsxt.struts2.tags.Dog" >

                <s:param name="name" value="'pp'"></s:param>

                <s:property value="name"/>                

            </s:bean>

        </li>

        

        <li>bean 查看debug情况:

            <s:bean name="com.bjsxt.struts2.tags.Dog" var="myDog">

                <s:param name="name" value="'oudy'"></s:param>

            </s:bean>

            拿出值:

            <s:property value="#myDog.name"/>            

        </li>

在bean中设置var对象,才会在debug的actioncontext中看到此对象。出了bean标签和在其他地方都可以访问到,但是如果不用var,则只能在bean标签中访问到此对象和定义的param。

value的值必须加上单引号  'XXX' ,这样才会被当做字符串输出,不然就会被认为是OGNL表达式。

总结: name  和 var

 

include //不想看

 

 

<s: fielderror >标签

public String execute() {

        this.addFieldError("fielderror.test", "wrong!");

        return SUCCESS;

    }
<s:fielderror fieldName="fielderror.test" theme="simple"></s:fielderror>

在后台action类中添加一个fielderror的信息,在前台用fielderror标签去除这个信息,但是此标签会有固定的格式,把theme设置成simple可以去掉此格式(据说没有用)。

 

控制标签: if elseif  else , iterator , subset

 

if elseif else标签

 

 

iterator标签(遍历一个集合)

使用var属性

使用status属性

注: 是不是偶数或奇数:是问你遍历了第几个

用iterator遍历Map

注:定义map时,前面有个# 号

iterator可以遍历各种集合:collections(list ,set ,stack ,队列queue)、map、enumeration、iterator、array

 

UI标签(不想看

 

AJAX标签

 

$  #  % 的区别

 

你可能感兴趣的:(struts)