Maison > Java > javaDidacticiel > le corps du texte

Introduction détaillée au passage de paramètres dans struts2

黄舟
Libérer: 2017-03-02 11:25:07
original
1431 Les gens l'ont consulté

Ce problème m'a toujours intrigué. Lors de l'écriture de programmes jsp ordinaires, il est facile de transmettre des paramètres via des formulaires, des requêtes, des liens, etc. Cependant, dans struts2, je ne peux pas les voir partout où j'écris. à toute demande ou réponse, je ne sais pas comment transmettre des paramètres. Aujourd'hui, j'ai appris le passage de paramètres dans struts2 et j'ai finalement résolu le doute, mais ce n'est pas encore très clair et doit être exploré à l'avenir.

Permettez-moi de parler ici de la façon de transmettre des paramètres entre les actions dans struts2. Le transfert de paramètres entre les actions est configuré dans le fichier struts.xml. Dans l'élément result, utilisez la balise param pour spécifier le nom et la valeur du paramètre passé. Cependant, ce nom de paramètre n'est pas écrit avec désinvolture. Il doit être cohérent avec l'action. à transmettre correspondant au nom de l'attribut. Illustrons avec un exemple.

Exemple : Il existe une page Login.jsp avec deux éléments : le nom d'utilisateur et le mot de passe. Les données sont soumises à Action1 puis demandent à être transférées ou redirigées vers Action2. Dans le processus d'Action2, les deux paramètres du nom d'utilisateur et du mot de passe, ainsi qu'un paramètre constant personnalisé, doivent être transmis à Action2. Action2 reçoit les paramètres et affiche les paramètres sur une page de résultats : result.jsp


Code :

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>
Copier après la connexion
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>
Copier après la connexion
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;  
    }  
}
Copier après la connexion
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;  
    }  
}
Copier après la connexion
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>
Copier après la connexion

Ce qui précède est l'introduction détaillée du passage de paramètres dans struts2. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!