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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не обновляются данные на JSP странице (JSF) 
V
    Опции темы
SID_M
Дата 21.12.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 11.2.2005
Где: Россия, г. Москва

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



Есть Bean:
Код

public class RegistrationBan {
    private String email = "name@host";
    private String password;
    private SuggestionBean suggestion;   
      
    public String register(){
        if ((email == null) ||
            (email.trim().length() < 3) ||
            (email.indexOf("@") == -1)) {
                setSuggestion(SuggestionUtils.getSuggestionBean());  // <-- SuggestionBean - это некая заплатка, которая генерит примеры e-mail 
// и пароля. Как видите возникает в случае, если юзверь ввел что-то не так
                return("bad-address");
        } else if ((password == null) ||
                   (password.trim().length() < 6)) {
            setSuggestion(SuggestionUtils.getSuggestionBean());
            return("bad-password");
        } else {            
            return("accept");
        }
    }       

   ... // Тут идут геттеры и сеттеры 


Вот код JSP странички:
Код

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<f:view>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <BODY>
    <CENTER>
        <TABLE BORDER=5>
            <TR><TH CLASS="TITLE">New Account Registration</TH></TR>
        </TABLE>
    <P>
     
    <h:form>
        Email address: <h:inputText value = "#{registration.email}"/><BR>
        Password: <h:inputSecret value="#{registration.password}"/><BR>
        <h:commandButton value="Sign Me Up!" action="#{registration.register}"/>
    </h:form>
    </CENTER></BODY>
</html>
</f:view>


ну можно еще файлик faces-confic.xml указать:
Код

faces-config>

    <managed-bean>
        <managed-bean-name>registration</managed-bean-name>
        <managed-bean-class>Beans.RegistrationBan</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    
    <navigation-rule>
        <from-view-id>/welcomeJSF.jsp</from-view-id>
        <navigation-case>
            <from-outcome>bad-address</from-outcome>
            <to-view-id>/results/bad-address.jsp</to-view-id>
            <redirect/>
        </navigation-case>
        <navigation-case>
            <from-outcome>bad-password</from-outcome>
            <to-view-id>/results/bad-password.jsp</to-view-id>
            <redirect/>
        </navigation-case>
        <navigation-case>
            <from-outcome>accept</from-outcome>
            <to-view-id>/results/accept.jsp</to-view-id>
            <redirect />
        </navigation-case>
    </navigation-rule>
</faces-config>


Теперь собсна проблема...
Заполняю форму, нажимаю кнопку... Все отрабатывает правильно, т.е. управление передается нужным формам, но данные в этих формах абсолютно не  соответствуют тем, которые я ввел. Более того данные там те, которые были на форме ввода изначально (во время воода запроса). Как с этим бороться?

кстати, вот пример дочерней странички:
Код

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<!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">
        <title>JSP Page</title>
    </head>
    <body>
    <h:form>     
        <TABLE BORDER=5>
            <TR><TH CLASS="TITLE">Illegal Password</TH></TR>
        </TABLE>
        <P>
        The password 
        "<h:outputText value="#{registration.password}"/>"
            is too short; it must contain at least six characters.
            Here is a possible password:
        <h:outputText value="#{registration.suggestion.password}"/>.
        <P>
        Please <A HREF="../welcomeJSF.faces">try again</A>.
    </h:form>  
    </body>
</html>
</f:view>

--------------------
Если тебе не дано летать, то хотя бы ползай с гордо поднятой головой.
PM MAIL ICQ Skype GTalk   Вверх
powerOn
Дата 21.12.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(SID_M @  21.12.2006,  18:31 Найти цитируемый пост)
Более того данные там те, которые были на форме ввода изначально (во время воода запроса). Как с этим бороться?

а что если поменять  <managed-bean-scope>request</managed-bean-scope> на  <managed-bean-scope>session</managed-bean-scope>?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
SID_M
Дата 22.12.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 11.2.2005
Где: Россия, г. Москва

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



powerOn, спасибо! Помогло, сам думал, что дело в этом, только уж очень настойчиво в примерах было написано request. Думал мож я чего не понимаю. В любом случае помогло...
--------------------
Если тебе не дано летать, то хотя бы ползай с гордо поднятой головой.
PM MAIL ICQ Skype GTalk   Вверх
powerOn
Дата 22.12.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



нЕзачто, только не забывай помечать вопрос как решенный!  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
alexsmirnov
Дата 23.12.2006, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Если бы не ставил <redirect/> в navigation-case, то все бы и работало ( без редиректа страница переключается в рамках одного запроса, и данные остаются правильными ). А редирект вызывает новый запрос по новому адресу, и бины создаются заново.
 Здесь надо просто представлять, как будет работать в том или другом случае - если хранить в сессии, то открытие пользователем еще одного окна может вызвать конфликт.
 В общем, нос вытащил - хвост увяз. 
PM MAIL   Вверх
SID_M
Дата 25.12.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 11.2.2005
Где: Россия, г. Москва

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



alexsmirnov, спасибо, учту. 
--------------------
Если тебе не дано летать, то хотя бы ползай с гордо поднятой головой.
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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