Struts2項目搭建

1>.建工程,導jar包

2>.配置web.xml,配置struts過濾器

   <filter>

         <filter-name>Struts2</filter-name>

         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

     </filter>

    

     <filter-mapping>

         <filter-name>Struts2</filter-name>

         <url-pattern>/*</url-pattern>

</filter-mapping>

3>.編寫Action類,寫具體帶返回值的方法

   Action類有三種寫法:

    第一種:直接寫普通的Java類,寫返回值爲字符串String

        如果你不寫public String execute(){} method="方法名"

   第二種:寫一個類去實現Action接口

    第三種:寫一個類去繼承ActionSupport類

 

4>.編寫核心配置文件,  struts.xml

   (1).首先在src目錄下建一個struts.xml文件(注::名字只能是struts.xml不得隨意更改)

   (2).要想在struts.xml可以實現代碼自動提示:則要拷貝struts-core-2.1.6.jar下的struts.2.1.dtd文檔中的dtd規範

       <!DOCTYPE struts PUBLIC

         "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"

     "http://struts.apache.org/dtds/struts-2.1.dtd">

      爲了讓dtd不去訪問網站而造成卡死,window/preferences/XML CatalogàAddà

      Location選中你本地的struts-2.1.dtd 

key Type選擇URI 

key中插入http://struts.apache.org/dtds/struts-2.1.dtd

 

 <struts>

<!--

Package節點:區分模塊

name:包的標識

namespace:命名空間 若爲缺省 默認爲任意路徑  則表示只要訪問工程的路徑最後是hello,都可以訪問的到

extends="struts-default"  繼承默認配置

 

action節點: 對應相應的Action請求 

name:訪問使用的URL

class:反射對應的Action類

method:具體指明Action類的那個方法,默認爲execute();

 

result節點:針對Action方法字符串,實現跳轉

name:默認爲success 

type:跳轉的類型

 

-->

<package name="test" namespace="" extends="struts-default">

<action name="hello" class="com.struts2.action.HelloWorld" method="test">

<result name="success" type="">/hello.jsp</result>

</action>

</package>

</struts>

 

action節點中的方法調用的三種方法

第一種:直接配置method=””;

<package name="test" namespace="" extends="struts-default">

<action name="hello" class="com.struts2.action.HelloWorld" method="test">

<result name="success" type="">/hello.jsp</result>

</action>

</package>

第二種:動態方法調用

配置支持動態調用的參數:<constant name="struts.enable.DynamicMethodInvocation"

                         value="true"></constant>

    【可以在default.properties文件中去找】

    調用的時候:/Action名!method

<constant name="struts.enable.DynamicMethodInvocation"

                         value="true"></constant>

<package name="test" namespace="" extends="struts-default">

<action name="hello" class="com.struts2.action.HelloWorld" >…</action>

</package>

第三種:通配符

<!--   用通配符 -->

        <package name="login" namespace="/login" extends="struts-default">

            <action name="*-*" class="com.struts2.action.{1}" method="{2}"  >

                <result name="success" >{1}-{2}.jsp</result>

            </action>

        </package>

發佈了34 篇原創文章 · 獲贊 58 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章