J'ai une application simple web:Impossible d'aller au-delà du ActionForm Sous
Il a une page de connexion simple, en prenant le nom d'utilisateur et mot de passe.
J'ai créé une sous-classe ActionForm appelé LoginForm:
public class LoginForm extends ActionForm
{
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 ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
{
ActionErrors errors=new ActionErrors();
System.out.println("In LoginForm");
if(username.equals(""))
{
errors.add("username",new ActionMessage("loginerror.usernameEmpty"));
}
else if(password.equals(""))
{
errors.add("password",new ActionMessage("loginerror.passwordEmpty"));
}
return errors;
}
public void reset(ActionMapping mapping,HttpServletRequest request)
{
this.username=null;
this.password=null;
}
}
Et une sous-classe d'action: LoginAction
public class LoginAction extends Action
{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServlet response)
{
LoginForm loginform=(LoginForm)form;
String username=loginform.getUsername();
String password=loginform.getPassword();
System.out.println("Username="+username+" & Password="+password);
if(username.equals("lokesh"))
{
ActionMessages errors=new ActionMessages();
errors.add("username",new ActionMessage("loginerror.usernameInvalid"));
saveErrors(request,errors);
return mapping.getInputForward();
}
return mapping.findForward("success");
}
}
La mise en correspondance d'action Struts est:
<action-mappings>
<action path="/login" type="occ.controller.LoginAction" name="LoginForm" scope="request" validate="true" input="/index.jsp" >
<forward name="success" path="/index.jsp" />
</action>
</action-mappings>
maintenant la validation ActionForm est parfait, mais la validation complexe effectuée dans LoginAction ne fonctionne pas.
La page devient vierge.
[J'ai exclu les importations délibérément]
Et la question est? –
vérifiez si vous redirigez vers les pages correctement. la page est vide signifie que les entretoises n'ont pas pu transmettre correctement les pages. – ashishjmeshram