2012-01-13 7 views
1

私はこれをどこかから読んだことがありますが、まだ分かりません。Struts 2がリクエストパラメータをどのように処理するか

は、シナリオの下に考えてみます、私は以下のいずれかの方法を使用して "PARAM" の値を回復することができ、Webページを経由して、私はPOST o GET: domain/doSomething?param=hello

を行い、その後

<action name="doSomething" class="com.domain.MyAction" method="myMethod">    
    </action> 

public class MyAction extends ActionSupport{ 

     public String myMethod(){ 
     private String param; 

     } 
     //getter 
     //setter 
    } 

それらが同じです?

this.getParam(); 
(String)request.getParameter("param"); 
(String)request.getSession.getAttribute("param"); 

もしそうなら、strutsは常にリクエストパラメータをhttp_sessionに入れますか?

+0

いいえ、S2はあなたに指示しない限り、セッションに何も入れません。 –

+0

変数とそのgetter/setterメソッドは 'myMethod()'メソッドの外で宣言する必要があります – anu

答えて

2

Strutsはアクションでそれらを渡すために、リクエストパラメータのゲッターとセッターを使用しています。

public class MyAction extends ActionSupport{ 

    private String param; 
    public void setParam(String p){ param=p; } 
    public String getParam() { return param; } 

    public String myMethod(){ 
     System.out.println("Got the request parameter automatically just by having a getter and setter for that parameter " + param); 
    } 
} 
関連する問題