Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При загрузке страницы отображаются <html:errors />, Struts, validation 
V
    Опции темы
mikla
Дата 14.12.2009, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 3.12.2006
Где: Витебск

Репутация: нет
Всего: нет



Здравстуйте. 

Есть такая проблема. 

Существует страница login.jsp, где пользователь вводит логин и пароль. Этой форме соответствует класс LoginForm. В LoginFrom 
реализован метод validate() для проверки на непустые значения в этих полях. Если юзер оставил пустыми поля, то вернется список ошибок ActionErrors, которые я потом отображаю в login.jsp: <html:errors property="password" />
Так вот, проблема в том, что первоначально при загрузке данной страницы login.jsp отображаются вот эти «ошибки» <html:errors property="password" /> и <html:errors property="login" />. 

Вопросы: 
1. Почему так происходит? 
2. Как это исправить ?


LoginForm.java
Код

public class LoginForm extends ActionForm {
    
    private String login;
    private String password;
    
    public void reset(ActionMapping mapping, HttpServletRequest request) {
        login = "";
        password = "";
    }

    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        
        if (login == null || login.trim().equals("")) {
            errors.add("login", new ActionMessage("error.login.empty"));
        }
        
        if (password == null || password.trim().equals("")) {
            errors.add("password", new ActionMessage("error.password.empty"));
        }
        return errors;
    }
    
    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}


login.jsp
Код

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib uri="jstl/c" prefix="c"%>
<%@ taglib uri="jstl/fmt" prefix="fmt"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>

<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Login Page</title>
</head>
<body>

<table>
    <tr>
        <td>
        <H1><bean:message key="login.enter"/></H1>
        </td>
    </tr>
    <tr>
        <td>
        <FORM action="login.do" method="post" onsubmit="">
        <table>
            <tr>
                <td><input type="hidden" name="method" value="enter" /></td>
                <td></td>
            </tr>
            <tr>
                <td class="login"><fmt:message key="userFields.login"/>:</td>
                <td><input type="text" name="login" /></td>
            </tr>
            <tr>
                <td colspan="2" class="error"><html:errors property="login" /></td>
            </tr>
        
            <tr>
                <td><fmt:message key="userFields.password"/>:</td>
                <td><input type="password" name="password" /></td>
            </tr>
            
            <tr>
                <td colspan="2" class="error"><html:errors property="password" /></td>
            </tr>
            
            <tr>
                <td><input type="submit" value="<fmt:message key="button.enter"/>" /></td>
                <td></td>
            </tr>

        </table>
        </FORM>
        </td>
    </tr>
</table>
</body>

</html:html>


index.jsp
Код

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>
<!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=utf-8">
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>Index Page</title>
</head>
<body>
    <c:redirect url="login.do?method=view"/>
</body>
</html>


struts-config.xml
Код

 <action
            name="loginForm"
         path="/login"
         scope="request"
         type="by.lorry.web.action.LoginAction"
         validate="true"
         parameter="method"
         input="/WEB-INF/jsp/login.jsp">
         
         <forward name="view" path="/WEB-INF/jsp/login.jsp"/>
         <forward name="success" path="/welcome.do" redirect="true"/>    
</action>


ничего не забыл ? ) 
--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.