J'ajoute dynamiquement des zones de texte à un formulaire sur ma page jsp en utilisant Javascript. Lorsque ce formulaire est soumis à une action, comment mon action obtient-elle les valeurs de ces zones de texte? (J'utilise Struts 2, btw.) Dans ASP.NET, j'ai pu les trouver dans Form.Request/FormCollection. Y a-t-il un équivalent Struts 2? Merci un million.Quel est l'équivalent Struts 2 de Request.Form (ou FormCollection) d'ASP.NET?
Répondre
Dans Struts2, vous créez des beans dans le formulaire pour soumettre des valeurs. Pour créer la zone de texte de saisie, utilisez la balise <s>
. Par exemple:
<s:textfield name="loginBean.userName" label="UserName" required="true" />
Ici loginBean est le bean transmis à la page jsp quand. Bean est constitué de déclarations de variables et de getters-setters pour la variable. Ensuite, dans le Java d'arrière-plan auquel le formulaire est soumis, vous pouvez accéder au même bean. Déclare getter-setter en Java et ensuite vous pouvez accéder aux propriétés du bean.
public LoginBean getLoginBean() {
return loginBean;
}
public void setLoginBean(LoginBean loginBean) {
this.loginBean = loginBean;
}
publique authentifie String() { chaîne username = loginBean.getUserName();
Je vous recommande d'examiner les codes source des projets Struts open-source.
Il semble que vous essayez de remplir une liste dynamique. Pour ce faire, il vous suffit d'utiliser le [n] syntaxe d'index à la fin de votre nom de la propriété de la classe d'action:
HTML:
<input type="text" name="yourCollection[0]" value="first value" />
<input type="text" name="yourCollection[1]" value="second value" />
<input type="text" name="yourCollection[2]" value="third value" />
Class Action:
public class YourAction extends Action {
public List<String> yourCollection;
public List<String> getYourCollection(){
return yourCollection;
}
public void setYourCollection(List<String> aCollection){
this.yourCollection = aCollection;
}
}
Désolé si je ne l'ai pas souligné, mais je voudrais savoir précisément comment obtenir la valeur d'une zone de texte générée par Javascript. – Chris