风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

struts2 -- Action Configuration (翻译)

Action Mappings
   Action映射可以指定一组result类型,一组异常处理,一个拦截器堆。但是只有name属性是必须的。其他的属性都可以通过package范围提供。
一个登录action
<action name="Logon" class="tutorial.Logon">
  
<result type="redirect-action">Menu</result>
  
<result name="input">/tutorial/Logon.jsp</result>
</action>
Action Names
       在web应用中,name属性是用以匹配浏览器请求路径的一部分(或其他HTTP客户端)。framework会丢掉主机名、应用名和扩展名,并匹配中间部分。所以,一个http://www.planetstruts.org/struts2-mailreader/Welcome.do 会map到 Welcome action。

在应用中,这个到action的链接一般是由struts tag来自动产生的。这个tag通过名字来指定action,并且这个framework会加上默认扩展名和其他一些必须 的东西。

<s:form action="Hello">
    
<s:textfield label="Please enter your name" name="name"/>
    
<s:submit/>
</s:form>
Wildcard Method
      多数情况,一组action mapping会有一个共享模式。比如,你所有的 edit actions都一个“edit”打头, 并调用这个action 类的edit方法。delete actions也是这个模式,但是调用的是delete方法。

这种情况,你就可以通过通配符的方式来定义一次action mapping,远胜于定义每一个action mapping.

<action name="*Crud" class="example.Crud" method="{1}">

这里,一个"editCrud"的action会调用Crud Action类实例的edit方法。同样,一个"deleteCrud"的action会调用delete方法。
另一种常用的方法就是后缀方法名,通过设置"!", "_", 或者其他一些特殊字符。

  • "action=Crud_input"
  • "action=Crud_delete"

To use a postfix wildcard, just move the asterisk and add an underscore.

<action name="Crud_*" class="example.Crud" method="{1}">

posted on 2007-07-06 09:51 风人园 阅读(642) 评论(0)  编辑  收藏 所属分类: Struts2


只有注册用户登录后才能发表评论。


网站导航: