Struts2框架學習(第五講)

1、struts2框架動作的後綴擴展名配置
我們在之前的章節中都介紹了框架來的配置

  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
  </filter-mapping>

這個配置就是爲什麼我們每次在提交action動作時都需要加上後綴action。平時我們在瀏覽很多網站的時候發現各種各樣的後綴都有,這個是怎麼回事呢?其實我們自己也可以自己配置後綴或者不要任何後綴。配置有兩種方式:
第一種:如上面的代碼段,將url-pattern中改成你想要得後綴格式;
第二種:在struts.xml配置文件中配置:

<constant name="struts.action.extension" value="action"></constant> 

如果在都配置完了的情況下有時候會出現完全不生效,可能是緩存的原因,把項目clean一下重啓即可。

2、過濾器StrutsPrepareAndExecuteFilter和FilterDispatcher
有些人在學習的過程中看到關於配置過濾器時可能有不同的配置,然後就很困惑不知道到底該用那種,原因是:

FilterDispathcer (org.apache.struts2.dispatcher.FilterDispatcher)  在早期的Struts2開發中使用,從Struts 2.1.3開始,它已不推薦使用。
如果你使用的Struts的版本 >= 2.1.3,推薦升級到新的Filter-StrutsPrepareAndExecuteFilter  (org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)。

3、include包含多個配置文件
在實際項目中我們可能涉及到多個模塊,最好的辦法是每個模塊有自己獨立的配置文件,這樣我們就可以在struts2主配置文件中引入模塊化的配置文件,每個模塊的開發人員只需要關心配置自己的配置文件即可:

<include file="com/test/conf/test-struts.xml" />

主配置文中如果想一個配置引入多個子配置文件,可以採用通配符的形式,但是子配置文件的命名規則需要注意XX-struts.xml格式。

<include file="com/test/conf/*-struts.xml" />

4、action動作註解
如果不想使用配置文件方式我們還可以利用註解來實現,struts2框架提供了對註解很好的支持。

@Namespace("/User")
@ResultPath(value="/")
public class ValidateUserAction extends ActionSupport{ 
@Action(value="Welcome", results={  @Result(name="success",location="pages/welcome_user.jsp")
    })
    public String execute() {
        return SUCCESS;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章