Pour avoir plusieurs actions sur un formulaire, j'utilise dispatchAction. Je commence par une action solitaire qui fonctionne quand j'utilise l'action standard avec la méthode execute. Avant d'ajouter plusieurs actions, je commence à convertir celui-ci.struts 1.1: erreur d'action de répartition: erreur 400 aucun paramètre dans la requête
A première charge du jsp, avant tout soumettre, je reçois l'erreur:
Erreur 400: Demande [/ rechercheUtilisateur] ne paramètre contient pas de gestionnaire nommé caché
Voici ma configuration:
struts-config:
<action path="/rechercheUtilisateur" type="lan.poujoulat.osac.actions.RechercheUtilisateurAction" name="formRechercheUtilisateur" validate="true" input="/Administration/acces.jsp" scope="request" parameter="hidden">
<forward name="réussiteRecherche" path="/Administration/acces.jsp">
</forward>
jsp administration/acces.jsp:
<SCRIPT>
function setHidden(value){document.formRechercheUtilisateur.hidden.value=value;}
</SCRIPT>
<html:form action="/rechercheUtilisateur"
name="formRechercheUtilisateur"
type="lan.poujoulat.osac.forms.FormRechercheUtilisateur">
...
<td align="center" width="80"><a href="#"
title='"Rechercher" />'> <input type=image
value=submit src="./image/btnRech.gif" width="22" height="20"
border="0" onclick="setHidden('recherche');"> </a></td>
</a>
...
<html:hidden property="hidden" value="recherche"/>
</html:form>
RechercheUtilisateurAction.java:
public class RechercheUtilisateurAction extends DispatchAction
{
public ActionForward recherche(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
j'ajouter la propriété cachée à ma forme:
public class FormRechercheUtilisateur extends ValidatorForm
{
...
private String hidden = " ";
...
En effet, le nom « caché » était juste à cause de la tu Je suis pour faire cela. Le vrai nom est "méthode", une fois que je dois le mettre dans le CVS, mais nvm. L'un des meilleurs moyens d'accéder à cette variable est: this.form.method.value. Et en effet le message était clair mon paramètre n'était pas initialisé. – jayjaypg22