2010-02-07 7 views
3

Je viens à l'expérience du cadre des rails. J'ai un problème simple.comment déclencher une action en cliquant sur un lien dans Struts2

J'ai un lien sur une page. Je veux que certaines actions de Struts2 soient exécutées lorsque l'utilisateur clique sur le lien et souhaite transmettre certains paramètres.

Par exemple:

link on page = My Link 
Action I want to call = myTestAction (it is defined in struts.xml) 
parameter I want to pass = typeA=false 

Comment puis-je faire cela? J'ai regardé <s:url><s:param name="typeA" value="false"></s:url> tag. Cependant, le paramètre ne semble pas passer. quand je passe la souris sur le lien, je ne vois aucun paramètre.

Répondre

0

la classe d'action doit avoir setTypeA(String value)and getTypeA() déclaré en elle pour le code ci-dessus pour passer typeA=false

Je ne sais pas pourquoi ils feraient ça ... ou peut-être des rails m'a gâté.

3

Try This ..

<s:url id="url" action="myTestAction"> 
    <s:param name="typeA">false</s:param> 
</s:url> 
<s:a href="%{url}" >My Link</s:a> 
0
 <s:url action="actionNameInStrutsXML" method="methodNameInYourClass" var="menuAdmin" /> 
      <s:a href="%{menuAdmin}">Menu</s:a> 

De cette façon, vous pouvez appeler la méthode que vous préférez.

N'oubliez pas de mettre dans vos jambes config ceci:

struts.enable.DynamicMethodInvocation » value = "true"

0

Je pense que la réponse est @vinayak parfait si vous voulez envoyer plus de un paramètre utiliser escapeAmp=false

Questions connexes