Я разрабатываю очень простое приложение Struts2, и у меня возникает эта странная (и легко решаемая, я уверен) проблема:
Когда я обращаюсь к directoly по URL-адресу входа, отображается форма входа в систему (текстовые поля имени пользователя и пароля) с этими ошибками:
Name field is required
Password is required
Поле пустое, потому что пользователь попадает в него впервые, поэтому я бы сказал системе проверки Struts2 не проверять, еслиПользователь отправляет форму входа с именем пользователя и паролем.Я уверен, что я что-то пропускаю или забываю.
Код действия Login.java:
package actions.access;
import actions.base.BaseAction;
import data.Webuser;
public class Login extends BaseAction {
private Webuser user;
public String execute() {
if (user != null) {
session = this.getSession();
if (session.get("user-logged") == null ) {
session.put("user-logged", user.getId());
}
}
return SUCCESS;
}
public void validate() {
if (user != null) {
Webuser realUser = services.getWebuserByNickname(user.getNickname());
if (realUser.getPass().equals(user.getPass())) {
user.setId(realUser.getId());
} else {
addFieldError("user.nickname", "Nickname or password are wrong");
}
}
}
public Webuser getUser() {
return user;
}
public void setUser(Webuser user) {
this.user = user;
}
}
Код Login-validation.xml:
<field name="user.nickname">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Login name is required</message>
</field-validator>
</field>
<field name="user.pass">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Password is required</message>
</field-validator>
</field>
Любая помощь будет оценена.Заранее спасибо.