Struts2部分标签总结

本文介绍了Struts2框架的基本配置方法,包括如何定义Action、使用标记库、配置文件解析及国际化支持等内容,并探讨了其在项目中的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1: #status.odd == true  判断遍历的奇数行

2: 如果一个list里面只有一个属性的话,页面显示直接用<s:property />,不管是只存整形或者字符串

国际化:

<s:i18n name="ApplicationMessages">
     <s:text name="HelloWorld" />
</s:i18n>

3: Struts2引入文件    <include file="struts-default.xml"/>
4: Action要继承extends ActionSupport

诸如属性只需要 setter和getter方法就可以直接用属性了

5:映射Action

<package name="tutorial" extends="struts-default">

<action name="HelloWorld" class="tutorial.HelloWorld">

 <result>HelloWorld.jsp</result>

    </action>

</package>

Struts 2.0有两个配置文件,struts.xmlstruts.properties都是放在WEB-INF/classes/下。
1、struts.xml用于应用程序相关的配置
2、struts.properties用于Struts 2.0的运行时(Runtime)的配置

Struts 2默认会读取classpath下的struts-default.xml,struts-plugin.xml,struts.xml这三个文件。

6:使用Struts2标记,需要引入文件

<%@taglibprefix="s"uri="/struts-tags"%>

7:常用UI标记:

<s:set name="name" value= "#request.token"/>

<s:iterator value="#request.names" status="stuts"> 

<s:property value ="#request.xxx">注意如果List里面只包含一个属性迭代显示<s:property/>
8:常用逻辑标志

<s:if test="#request.xxx==xxx"> // </s:if>    <s:elseif></elseif>    <s:else></s:else>

9:include

 <s:include value="/condition.jsp">
     <s:param name="name">Max</s:param>  // 可以引入一个JSP或者Servlet
 </s:include>

10:param

<param name="color">blue</param><!--字符串方式参数值以String的格式放入statck.-->

<param name="color" value="blue"/><!--对象方式该值会以Object的格式放入statck -->

11:URL

 <href='<s:url value="/i18n.jsp" />'>18n</a>
<s:url id="url" value="/condition.jsp"> <s:param name="name" value = "Max"/></s:url>定义url

<s:a href="%{url}">if\elseif\else</s:a>

更多的UI请见:http://wiki.javascud.org/display/ww2cndoc/TagsWebWork2文档中文化计划(中文

11:<result type="velocity">/HelloWorld.vm</result>
激动人心的地方在于它可以把Action输出到velocityJasperReportsFreemarker等模板,而不仅可以做转发和重定向

12:Action 取消了Form取而代之的是属性的settergetter方法

还有更高级的是它可以在Action里面定义POJO,页面直接PO.getName().PO.getPassword()之类的操作

13:作用域对象的获取

Ioc方式获取:ServletActionContext.getRequest()-->request 类似。。。。

Ioc方式获取:定义HttpServletRequest属性settergetter方法。

14:一个属性如果有settergetter方法的话可以<s:property value="message" escape="false"/>
15:多个对象,同样的POJO提交问题

比如存储产品对象,首先要继承ActionSupport    public List<Product> products;

输入:    %{} 表示使用ONGL表达式 ,比如像同时提交三个产品的话   

<s:iteratorvalue="new int[3]" status="stat">
       <s:textfieldname="%{'products['+#stat.index+'].name'}"/>       <s:textfieldname="%{'products['+#stat.index+'].price'}"/>        <s:textfieldname="%{'products['+#stat.index+'].dateOfProduction'}"/>

</s:iterator>

16:转换错误处理

17:<!--此标志的作用是引入Struts 2.0的常用的JavascriptCSS--> <s:head/>
18:拦截器:

struts2-all-2.0.1.jar或struts2-core-2.0.1.jar包的struts-default.xml定义啦很多的拦截器

包里面会有冲突

使用默认的拦截器首先<include file="struts-default.xml" />

定义Action的时候<interceptor-ref name="xx" />

19

 <s:iteratorvalue="books.{?#this.price > 35}">
          <s:propertyvalue="title" /> - $<s:propertyvalue="price" />

 </s:iterator>
 <s:propertyvalue="books.{?#this.title=='Code Complete, Second Edition'}.{price}[0]"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值