struts.xml的action配置格式、前台取值的四种方式

struts.xml的action配置格式
class的写法如下两种都可以

    <package name="hurricane" extends="struts-default">
        <action name="loginAction" class="com.demo.LoginAction" method="execute">
         <result>  
           /result.jsp
        </result>  
        </action>
    </package>
    <package name="com.demo" extends="struts-default">
        <action name="loginAction" class="LoginAction" method="execute">
         <result>  
           /result.jsp
        </result>  
        </action>
    </package>

name是小写,前台from表单的action对应。class大写。

Struts2页面取值的四种方式:(当取值得不到的时候,逐个试一下)

<s:property value="username"/>
${username}  
<s:property value="#request.username"/>(#session. #application.类似)
<s:property value="%{username}"/> 

Struts2中的property标签<s:property value="...."/>很重要,使用struts的利器。如果用struts不用s标签是舍近求远。property标签是用于取得OgnlContext上下文中的属性值,也称为数据标签。可取得request/session/application/attr/parameters以及valueStack这六个范围时,取前五个范围的值需要明确指定范围如:
<s:property value="#request.属性名" />取ValueStack中的值时,是不需要带#的,可以直接取,因为Action中值存储在ValueStack中的,所以取Action中的属性是不需要带#号的,可以直接取.

注意,在action中设置了该属性的setter/getter方法时,该属性才会取到,否则它不会被拦截器处理,value参数的类型是object,可以理解为这个默认是会解析成ognl表达式的。如果需要输入一个字符串<s:property value="'ddd'">注意,在value里面的ddd字符串外面加了单引号,这样不会将ddd解析成ognl表达式了。[本段来自百度知道]

你还应该知道(错,应该熟悉)的<s:property>标签的一些属性。

default属性
用于设置默认的值,<s:property value="user" default="beijing"/> 表示的是,如果值栈中能取到user,那么就显示取到的值.如果取不到,那么就用”beijing”.[本段来自百度知道]

必须知道的,很重要

1.按需输出特定长度的字符
例:<s:property val="name.s string(0,4)" />,只输出name的前四个字符,其中name是我需要输出的字符串。
2.格式化输出日期
例:<s:property val="%{getText('format.date',{createdDt})}"/>,这里说明一下,’format.date’是输出的日期的格式,这个配置在国际化资源文件中:format.date ={0,date,yyyy-MM-dd },其中的格式可以自己配置,createdDt是我要输出的日期。
这种格式化输出日期的方法也适用于别的标签,例如:<s:textfiled/>,也是一种比较通用的方法,另外再提供几种格式:format.time = {0,time}
format.number = {0,number,\#0.0\#\#}
format.percent = {0,number,\#\#0.00'%'}

你可以仅仅只知道的<s:property>标签的一些属性。
escape属性

默认是true。表示需要将html语句强制转换成字符串显示
<s:property value="'<hr>'" escape="false"/>表示不需要将<hr>转换成字符串..也就是说,页面上它将会显示一条横线.对应的,如果escapse为true,那么页面上将会显示字符串"<hr>".

struts2中的标签就那么多,这些如果做项目,可以都熟悉一下,不过真正常用且重要的就那么几个。要经常熟悉。

你还应该知道(错,应该熟悉)的<s:iterator>标签的一些属性。
迭代<s:iterator>用于将List、Map、ArrayList等集合进行循环遍历
<s:iterator value="userList" id="user" status="u">
<s:property value="userName"/></a>
</s:iterator>

该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值