1. 程式人生 > >Struts2學習第三課 Struts2詳解

Struts2學習第三課 Struts2詳解

request end apach -1 sso struts2 input div available

接著上次的課程

這次我們看struts.xml

修改如下:這裏是加上命名空間,默認的是不加,我們手動加上時就要在訪問時加上命名空間。

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

<struts>
    <!-- package:包,struts2使用package來組織模塊
        name屬性:必須,用於其他包引用當前包
        extends: 當前包繼承哪個包,繼承的,即可以繼承其中的所有的配置,通常情況下繼承struts-default
        struts-default這個包在struts-default.xml文件中定義的
--> <package name="helloWorld" extends="struts-default" namespace="/logan"> <!-- 配置action:一個struts2的請求就是一個action name:對應一個Struts2的請求的名字,不包含擴展名 --> <action name="product-input"> <result>/WEB-INF/pages/input.jsp</result> </
action> <action name="product-save" class="logan.struts.study.Product" method="save"> <result name="details">/WEB-INF/pages/details.jsp</result> </action> </package> </struts>

我們再去訪問地址http://localhost:8080/Struts2-2/product-input.action

可以看到訪問失敗

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [product-input] associated with context path [/Struts2-2].

type Status report

message There is no Action mapped for namespace [/] and action name [product-input] associated with context path [/Struts2-2].

description The requested resource is not available.

Apache Tomcat/9.0.0.M15

我們訪問這個地址才能訪問:http://localhost:8080/Struts2-2/logan/product-input.action

技術分享

action裏面class的默認值是com.opensymphony.xwork2.ActionSupport

默認的執行方法時execute

result:結果,表示action方法執行後可能返回的一個結果。所以一個action節點可能會有多個result子節點。多個result子節點使用name來區分。

name:標識一個result,和cation方法的返回值對應,的默認值是success。

type:表示結果的類型,默認值為dispatcher(轉發到結果)

Struts2學習第三課 Struts2詳解