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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Struts, Валидация 
V
    Опции темы
fics
Дата 9.4.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ну что неправильно: чего ничего не записывается в ошибку?
struts-config.xml:
Код

---------------------------------------
<action-mappings>

        <action path="/registration"
                type="org.springframework.web.struts.DelegatingActionProxy"
                name="registrationForm"
                scope="request"
                validate="true"
                input="registration.jsp">
                
                <forward name="login" path="/login.jsp"/>
                <forward name="registration" path="/registration.jsp"/>
        </action>
----------------------------------------


Код

package actions;


import forms.RegistrationForm;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.*;
import org.apache.struts.Globals;
import shop.IdentificationManager;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class RegistrationAction extends Action {
    private IdentificationManager identificationManager;

    public void setIdentificationManager(IdentificationManager identificationManager) {
        this.identificationManager = identificationManager;    
    }

    public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest req,
                                  HttpServletResponse res) throws IOException {
       RegistrationForm regf = (RegistrationForm)form;
       ActionErrors error = regf.validate(mapping,req);


        
        if(!error.isEmpty()) {
            req.setAttribute(Globals.ERROR_KEY, error);
            identificationManager.registrationClient(regf);
            return mapping.findForward("login");
        }


       return mapping.findForward("registration");
    }
}





Код

package forms;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import javax.servlet.http.HttpServletRequest;


public class RegistrationForm extends ActionForm {
    private String login;
    private String password;
    private String confirmpass;


    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;
    }

    public String getConfirmpass() {
        return confirmpass;
    }

    public void setConfirmpass(String confirmpass) {
        this.confirmpass = confirmpass;
    }

    public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest request) {
       ActionErrors error = new ActionErrors();

       if(getCity() == null || getAddress() == "" || getMail() == "" || getLogin() == "" ||
          getPassword() == "" || getPassword() == "" || getConfirmpass() == "") {
          error.add("null", new ActionMessage("hello"));
    
       }

       return error;
    }
}

registration.jsp
  
Код



<html>
  <head><title>Welcome to shop</title></head>
  <body>
  
  <logic:present name="org.apache.struts.action.ERROR">
      Error: <html:errors property="null"/>
  </logic:present>  









Это сообщение отредактировал(а) fics - 9.4.2008, 12:27
--------------------
Ушел на пары
PM MAIL   Вверх
iluvatar
Дата 9.4.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В смысле на jsp не отображается ошибка? А форма точно не проходит валидацию?
PM MAIL ICQ   Вверх
fics
Дата 9.4.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



И на jsp не отображается тоже, 

сделал вот сдесь: System.out.println("Error nnnn:"+error.size()); - и выводит размер ошибки = 0
Код

   public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest req,
                                  HttpServletResponse res) throws IOException {

       RegistrationForm regf = (RegistrationForm)form;
       ActionErrors error = regf.validate(mapping,req);


        
        if(!error.isEmpty()) {
            req.setAttribute(Globals.ERROR_KEY, error);
            identificationManager.registrationClient(regf);
            return mapping.findForward("login");
        }

        System.out.println("Error valid:"+error.size());

       return mapping.findForward("registration");
    }
}

--------------------
Ушел на пары
PM MAIL   Вверх
iluvatar
Дата 9.4.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А он точно не должен пройти валидацию?

А вообще лучше использовать формы extends ValidatorForm и меппинг validation.xml

PM MAIL ICQ   Вверх
fics
Дата 9.4.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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


 




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


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

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