Struts2學習筆記之第一個應用

Struts2學習筆記

第二記:Struts2的第一個應用

(1)、編寫struts.xml創建Action,如:ExampleAction

     <?xml version="1.0" encoding="UTF-8" ?>
     <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
     <struts>
         <package name="default" namespace="/" extends="struts-default">

                <action name="example" class="com.struts2.house.rent.action.ExampleAction" method="login">
                            <result name="login">/login.jsp</result>
               </action>
        </package>

     </struts>
      配置說明:

      N1、name:包名,但不同於Java程序中的包名。

      N2、namespace:命名空間,默認爲“/”,表示根路徑下。

      N3、extends:繼承,主要是繼承struts2的攔截器功能。

      N4、action_name:action的名稱,也可以是是別名,唯一標識。

      N5、method:表示訪問該Action的login方法。

      N6、result_name:表示訪問的視圖名稱,即jsp頁面的名稱。

(2)、編寫Action對應的Java文件:

       public class ExampleAction{  //無侵入式實現,這裏沒有像Struts1一樣依賴於Action

                private  String   msg;

                public String getMessage(){

                       return msg;

               }

               public   String  login(){

                      msg="Hello,World!";

                      return "login";//表示要提交的視圖名稱,返回的必須是string

              }

      }

(3)、視圖表現層:

       在JSP中導入Struts2的標籤:

      s-tag:<%@ taglib prefix="s" uri="/struts-tags" %>

      s2-tag:<%@ taglib prefix="s2" uri="/struts-tags" %>

      sx-tag:<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>

      s標籤:<s:property value="This is my frirst Struts2 application!" />,s標籤含有許多用法:如<s:if>,<s:bean>,<s:param>,<s:iterator>...等等。

      s2標籤:<s2:form  action="login">

                           <s2:textfield  name="users.name" label="username"></s2:textfield><br/>

                          <s2:password  name="users.password" label="password"><s2:password><br/>

                          <s2:submit >login</s2:submit>

                      </s2:form>

      sx標籤:<sx:a targets="pageDiv" href="a_link_url" errorText="...error...">
                                  <s:property value="點這裏" />
                              </sx:a>   //生成超鏈接..................

       EL表達式: ${message};//注意:直接獲取後臺傳送的值,是get方法名而不是成員變量,必須提供get方法才行。

(4)訪問action對應的視圖:

       在瀏覽器中輸入項目名稱及其訪問路徑:

        如,http://localhost:8080/StrutsTest/example/login.action

        根路徑:http://localhost:8080/StrutsTest/

       如果package的命名空間是"/test/user"

       則訪問路徑是:http://localhost:8080/StrutsTest/test/user/example/login.action

       注:”.action“可以省略不寫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章