Struts 2の深い動的呼び出しアクション


Struts 2を使用したことのある仲間たちは、私たちのactionの方法が多すぎる場合、Struts 2フレームワークで実行する必要がある場合、Struts 2のプロファイルStruts 2.xmlファイルに複数のaction属性ラベルを配置しなければならないことを知っているはずですが、action個数が10以上の場合、この方法はそれほど便利ではありません.ここでは3つの方法を用いてStruts 2フレームワークを介してactionを動的に呼び出す
【1】    action  
【2】           
【3】        

次に、上記の3つの方法の使用について説明します.
【1】action属性の設定
     action      ---add update,      :

public String add()
{
        return SUCCESS;
}
public String update()
{
        return SUCCESS;
}
         Struts.xml         ,   action name        ,    action method  ,    action     
 
       
        
                        /result.jsp
                
        
                        /add.jsp
                
     
                   /update.jsp
                
        


アドレスバーに入力するとhttp://localhost:8080/struts2...を選択すると、HelloWorldというactionのaddメソッドが呼び出され、結果は下図のようになります.
【2】感嘆符で呼び出す
(Struts公式では推奨されていませんが、ここでは共有します)この方法を使用するには、まずStruts.xmlプロファイルで一言:


この文の目的は、Strutsがメソッドを動的に呼び出した後のStruts.xmlプロファイルのactionの構成を次のように許可することです.
        
                /result.jsp
                /add.jsp
                /update.jsp
        


また、action関連メソッドの戻り値を変更し、実行時にsuccessを行う必要があります.このメソッドがactionを動的に呼び出す場合は、return後の値をactionラベルのresult属性のname値と一致させる必要があります.具体的には、次の図です.
public String add()
{
        return "add";
}
public String update()
{
        return "update";
}

アドレスバーに入力したアドレスも、以下のように変更する必要があります.http://localhost:8080/struts2...を選択すると、次のような結果になります.
【3】ワイルドカードによる方式(公式推奨の使い方)
まず、Struts.xmlプロファイルのconstantラベルのvalueプロパティをfalseに変更します.また、Struts.xmlファイルの他の部分は、次のように変更する必要があります.
 
                
                        /result.jsp
                        /add.jsp
                        /update.jsp
                
        

Actionはメソッド2のメソッドと同様にアドレスバーに入力されるアドレスが異なり、具体的には以下の通りである.http://localhost:8080/struts2...結果は上図と同様にactionを呼び出す3つの方法で、皆さんの役に立つことを願っています.