addFieldError sur Struts2 affiche pas d'erreur sur le champs

Salut, je suis très nouveau à struts2. de quelques livres et de sites web, je suis cet exemple. Dans la classe d'action il utiliser la méthode de validation pour vérifier la logique. La méthode est appelée bcoz de l'impression des déclarations. Mais l'erreur n'est pas affiché à proximité des champs. Jst m'aider

Index.jsp

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Home</title>
</head>
<body>
<s:form action="LoginAction ">
<s:textfield name="username" label="Username" />
<s:textfield name="password" label="Password" />
<s:submit value="Login"></s:submit>
</s:form>
</body>
</html>

Struts.xml

<package name="default" extends="struts-default">
        <action name="LoginAction" class="org.shammu.struts2.actions.LoginAction">
                <result name="success">/welcome.jsp</result>
                <result name="input">/index.jsp</result>
        </action>
        <action name="emptypassthrough">
                <result>index.jsp</result>
        </action>


</package>

LoginAction.java

 package org.shammu.struts2.actions;

 import org.shammu.struts2.beans.LoginBean;

 import com.opensymphony.xwork2.ActionSupport;

 @SuppressWarnings("serial")
 public class LoginAction extends ActionSupport{

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 String execute(){
    LoginBean login = new LoginBean();
    login.setPassword(password);
    login.setUsername(username);
    if (getUsername().equals("abcd")) {
        return "success";
    } else {
        return "input";
    }

}

@Override
public void validate() {
    if (username.length() < 3) {
        System.out.print("user err ok");
        this.addFieldError(username, "Username Empty Pls provide");

    }
    if (password.length() < 3) {
        System.out.print("Pass err ok");
        this.addFieldError(password, "Password Empoty provride one pkls");
    }

}
 }

J'm pas tenu compte de l'exécution de la méthode. Je veux jst le msg d'erreur imprimée à proximité de champs... Aider

  • Vous n'êtes pas d'utiliser correctement addFieldError méthode. Le premier paramètre est un nom de champ. Dans votre cas, il devrait être addFieldError("username", "Username Empty Pls provide");.
  • Tnx beaucoup Aleksandr.. Dans addFieldError, chaque fois que j'type de nom d'utilisateur, eclips déroulante le nom de l'utilisateur qui est en fait un champ déclaré dans la classe. Il a obtenu misundrstnad... Tnx agan. Je n'ai pas knw comment voter, Si je sais, ll donner u 1000 votes, bcz u aider à réduire mo beaucoup de tm..\
  • comment faire de commentaire ur comme réponse..?
  • Vous pouvez accepter/upvote ma réponse maintenant.
InformationsquelleAutor Shameer | 2013-08-28