この例をダウンロードする –

Struts-Wildcards-Example.zip

Strutsワイルドカードは、Strutsプロジェクトがいくつかの通常のファイル構造に従っている限り、struts-config.xmlファイルの繰り返しを減らすのに役立ちます。たとえば、ユーザモジュールでCRUD関数を実装するには、struts-config.xmlは次のようになります

1.ワイルドカードなし

各リストに対して4つのアクションマッピングを作成し、関数を追加、削除、更新し、繰り返しをたくさん行う必要があります。

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

<struts-config>

    <action-mappings>

        <action
            path="/ListUserAction"
            type="com.mkyong.common.action.UserAction"
            parameter="ListUser"
            >

            <forward name="success" path="/pages/ListUser.jsp"/>

        </action>

        <action
            path="/AddUserAction"
            type="com.mkyong.common.action.UserAction"
            parameter="AddUser"
            >

            <forward name="success" path="/pages/AddUser.jsp"/>

        </action>

        <action
            path="/EditUserAction"
            type="com.mkyong.common.action.UserAction"
            parameter="EditUser"
            >

            <forward name="success" path="/pages/EditUser.jsp"/>

        </action>

        <action
            path="/DeleteUserAction"
            type="com.mkyong.common.action.UserAction"
            parameter="DeleteUser"
            >

            <forward name="success" path="/pages/DeleteUser.jsp"/>

        </action>


    </action-mappings>

</struts-config>

2.ワイルドカード付き

Strutsのワイルドカード機能を使用すると、struts-config.xmlを1つのアクションマッピングに絞り込むことができます。

  • struts-config.xml **

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

<struts-config>

    <action-mappings>

        <action
            path="/** UserAction"
            type="com.mkyong.common.action.UserAction"
            parameter="{1}User"
            >

            <forward name="success" path="/pages/{1}User.jsp"/>

        </action>

    </action-mappings>

</struts-config>

ユースケースを見て、アクセスを試してみましょう


http://localhost:8080/StrutsExample/EditUserAction.do


。ザ


EditUserAction.do

“は ”

/

UserAction

“パターンと一致し、



にマッチした文字列 ”

Edit

“は後で使用するために

\ {1}

で表されます。

上記の場合、ワイルドカードのアクションマッピングは

<アクション
        パス= "/**  UserAction"
        type = "com.mkyong.common.action.UserAction"
        パラメータ= "{1}ユーザ"
    >
 
    <forward name = "success" path = "/pages/{1} User.jsp"/>
 
    </action>

<アクション
        path = "/EditUserAction"
        type = "com.mkyong.common.action.UserAction"
        パラメータ= "EditUser"
    >
 
    <forward name = "success" path = "/pages/EditUser.jsp"/>
 
    </action>

===結論

どちらのstruts-config.xmlサンプルも同じ機能を持ちますが、
ワイルドカードのサポートの回数を減らします。ただし、これを酷使しないでください**
プロジェクトのワイルドカード機能は、通常よりも扱いにくい
宣言。