ホームページ  >  記事  >  Java  >  struts2 でのパラメーター受け渡しの詳細な紹介

struts2 でのパラメーター受け渡しの詳細な紹介

黄舟
黄舟オリジナル
2017-03-02 11:25:071441ブラウズ

この問題は、通常の JSP プログラムを作成する場合、フォーム、リクエスト、リンクなどを通じて非常に簡単に渡すことができます。しかし、struts2 では、どこに行っても何も表示されません。リクエストまたはレスポンスを書くとき、パラメータを渡す方法がわかりません。今日、struts2 のパラメータを渡すセクションを勉強して、最終的に疑問を解決しましたが、まだあまり明確ではないため、今後検討する必要があります。

ここでは、struts2 のアクション間でパラメーターを渡す方法について話しましょう。アクション間のパラメータの受け渡しは、result要素内でparamタグを使用して設定します。ただし、このパラメータ名は、アクションと一致している必要があります。属性名に対応して渡されます。例を挙げて説明しましょう。

例: ユーザー名とパスワードという 2 つの要素を含む Login.jsp ページがあります。データは Action1 に送信される必要があります。次に、Action1 が Action2 への転送またはリダイレクトを要求するプロセス中に、ユーザー名とパスワードの 2 つのパラメーターに加えて、カスタム定数パラメーターを Action2 に渡す必要があります。 Action2 はパラメータを受け取り、結果ページにパラメータを表示します: result.jsp


コード:

Login.jsp:  
<form action="/struts2/test/action1" method="post">  
        姓名:<input type="text" name="username"/><br/>  
        密码:<input type="password" name="password"/><br/>  
        <input type="submit" value="提交"/>  
        <input type="hidden" name="type" value="something"/>  
    </form>
struts.xml:  
<action name="action1" class="com.suo.actions.Action1">  
     <result name="success" type="redictAction"><!--type指定是请求转发还是重定向-->  
        <param name="actionName">action2</param><!--在这里指定要请求转发或是重定向到的Action-->  
                  
        <param name="username">${username}</param>  
        <param name="password">${password}</param><!--action1中的属性值-->  
        <param name="myparam">piao</param><!-- 自定义的不变参数 -->  
                  
        <!--在这里定义的参数,在传到的Action中,都要有相应的set/get方法,才能够得到该参数 ,  
                    并且在传递到的Action中的属性名,要和参数的name保持一致-->  
     </result>  
</action>  
          
<action name="action2" class="com.suo.actions.Action2">  
<span>  </span><result name="success">/WEB-INF/result/action.jsp</result>  
</action>
Action1.java:  
  
package com.suo.actions;  
  
import com.opensymphony.xwork2.ActionSupport;  
  
public class Action1 extends ActionSupport {  
      
    private String username;  
    private String password;  
      
    public String getUsername() {  
        return username;  
    }  
    public void setUsername(String username) {  
        this.username = username;  
    }  
    public String getPassword() {  
        return password;  
    }  
    public void setPassword(String password) {  
        this.password = password;  
    }  
      
    public String execute()  
    {  
        System.out.println(type);  
        return SUCCESS;  
    }  
}
Action2.java:  
  
package com.suo.actions;  
  
import com.opensymphony.xwork2.ActionSupport;  
  
public class Action2 extends ActionSupport {  
      
    private String username;  
    private String password;  
    private String myparam;  
      
    public String getUsername() {  
        return username;  
    }  
    public void setUsername(String username) {  
        this.username = username;  
    }  
    public String getPassword() {  
        return password;  
    }  
    public void setPassword(String password) {  
        this.password = password;  
    }  
      
    public String getMyparam() {  
        return myparam;  
    }  
    public void setMyparam(String myparam) {  
        this.myparam = myparam;  
    }  
    public String execute()  
    {  
        System.out.println(username);  
        System.out.println(password);  
        System.out.println(myparam);  
          
        return SUCCESS;  
    }  
}
result.jsp:  
  
<body>  
    username:<s:property value="username"/><br>  
    password:<s:property value="password"/><br>  
    myparam:<s:property value="myparam"/><br>  
      
    <!-- 这里可以用标签得到的属性值,必须是在Action中有对应的set/get方法才可以 -->  
      
  </body>

上記は、struts2 で渡すパラメータの詳細な紹介です。詳細については、PHP 中国語に注意してください。ウェブサイト (www .php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。