2010-11-20 8 views
1

J'ai une situation où j'ai 2 méthodes dans la même classe d'action, méthode1 et méthode2. Ci-dessous mes correspondances d'action dans struts.xmlValidation de Struts2 pour les méthodes génériques

< action name="actionName_*" class="sample.input.SubmitTest" method="{1}"> 
    < interceptor-ref name="defaultStak" /> 
    < result name="input">info.jsp< result ends> 
    < result name="success">info.jsp< result ends> 
    < result name="error">error.jsp< result ends> 
    < action ends> 

règles de validation pour les method1 et method2 sont différents donc j'ai 2 fichiers xml de validation. 1: actionName_method1-validation.xml 2: actionName_method2-validation.xml

Cette configuration est aussi par http://struts.apache.org/2.1.6/docs/action-configuration.html#ActionConfiguration-DynamicMethodInvocation

J'invoque ces méthodes d'un JSP comme indiqué ci-dessous,

< s:form action="actionName_" method="post"> 
    <!-- here goes the fields to be submitted --> 
    <s:submit type="simple" method="method1" value="execute1"/> 
    <s:submit type="simple" method="method2" value="execute2"/> 
< s:form end tag> 

Cependant, pour certains raison pour laquelle les validations ne sont pas exécutées. Ai-je manqué quelque chose ici, quelqu'un peut-il m'aider?

Répondre

0

L'erreur était dans les s: présenter, ci-dessous est la bonne s: soumettre qui a travaillé

< s:form action="actionName_" method="post"> 
    < s:submit type="simple" action="actionName_method1" value="execute1"/> 
    < s:submit type="simple" action="actionName_method2" value="execute2"/> 
< s:form end tag> 
0

que je cherchais une réponse à cette question, mais celui qui est apparu ici ne résolvait pas mon problème.

Pour résoudre le problème, vous devez appliquer la solution @Rajesh (utilisation action attributs au lieu de method dans la balise <s:submit>) et vous devez renommer le fichier de validation afin qu'il remplisse la règle suivante:

<actionClass>-<actionAlias>-validation.xml 

Ainsi, les fichiers de validation, dans ce cas, devrait être renommé:

SubmitTest-actionName_method1-validation.xml 
SubmitTest-actionName_method2-validation.xml 

comme un La classe ction est SubmitTest.

J'espère que cette réponse peut aider les autres avec le problème de la validation XML avec des méthodes génériques.