powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Да что за... опять jsf
20 сообщений из 20, страница 1 из 1
Да что за... опять jsf
    #39041290
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это страница
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Login</title>
    </h:head>
    <h:body>
        <h:form id="login"  >
            <h:messages  />

         
            <h:panelGrid columns="3">
 
                <h:outputLabel for="username1" value="User Name:" />
                <p:inputText id="username1" value="#{loginController.username}"
                             label="Username"   >
                 <h:messages  />
                </p:inputText>
                 <h:message for="username1" />
             
                 <h:outputLabel for="password" value="Password:" />
                <p:inputText id="password"  value="#{loginController.password}"
                               label="Password" />
                <h:message for="password" />

                <h:outputLabel for="rememberMe" value="Remember Me:" />
                <h:selectBooleanCheckbox id="rememberMe"
                                         value="#{loginController.rememberMe}" />

                <p:commandButton action="#{loginController.test()}"
                                 value="Login"  ajax="false" />

            </h:panelGrid>
        </h:form>
    </h:body>
</html>



это CDI bean:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
import java.io.Serializable;
import javax.annotation.PostConstruct;


import javax.enterprise.context.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Named;

@Named(value = "loginController")
@SessionScoped
public class LoginController implements Serializable {

    private String username;
    private String password;
    private boolean rememberMe = false;

    public LoginController() {
        this.username ="";
        this.password = "";
    }

    @PostConstruct // начальная инициализация сущности при загрузке Бина
    void init() {
        this.username ="";
        this.password = "";
    }
    public void test() {
        String value = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("login:username1");
        System.out.println("Value: " + value);
        System.out.println(username + " " + password + " " + rememberMe);
     //   return "index";
    }

    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 boolean getRememberMe() {
        return rememberMe;
    }

    public void setRememberMe(boolean rememberMe) {
        this.rememberMe = rememberMe;
    }

}



при нажатии на кнопку передает только цифры, текст превращается в 0.
В чем может быть дело???
Думал из-за того что нет инициализации String, добавил и в конструктор и в post эффекта нет:((
primefaces или стандарт не важно, срабатывает одинаково.
Сервер glassfish.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041349
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо посмотреть под отладчиком значения полей в методе test. Есть подозрение что виновата кодировка консоли (System.out.println)
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041382
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ставлю точку на String value = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("login:username1");
ввожу в username = 1234, password = test
и вижу в переменных после нажатия на кнопку username = "1234" , password = "0"
На момент нажатия значения вводимого в форму уже нет.
system.out... закомментировал.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041384
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да в переменной value значения есть
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041420
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно поставить бряку в setUsername и посмотреть по стеку чего происходит.
Не очень понимаю как поля контроллера замаплены на форму, биндинга же нет? value разве не только для чтения?
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041447
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде выглядит всё правильно.
Возможно, cdi в этом glassfish-е какой-то недоделанный.
Предлагаю поменять cdi аннотации
Код: java
1.
2.
@Named(value = "loginController")
@SessionScoped


на jsf-ские
Код: java
1.
2.
@ManagedBean(name="loginController")
@javax.faces.bean.SessionScoped
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041471
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Что будет если в инпут password ввести цифры а не текст?
2) Добавьте валидатор на это поле, укажите required=true и minlength=2. Что получится?
3) В порядке бреда, переименуйте поле password во что-то другое, соотвественно измените и в бине. Что получится?
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041485
z3r9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
@PostConstruct // начальная инициализация сущности при загрузке Бина
    void init() {
        this.username ="";
        this.password = "";
    }



Убери это.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041487
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и чтобы окончательно убедится что проблема на сервере а не на клиенте, открой Firebug и скинь что уходит в POST на сервер
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041670
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@postcons... убрал, да и ставил его от безысходности :)
Менял на @ManagedBean(name="loginController")
@javax.faces.bean.SessionScoped

все тоже самое.
Цифры в пароле проходят.
А никакие настройки glassfish не могли повлиять?
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041679
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Post запрос:

URL запроса: http://localhost:8080/Stat/login.xhtml
Метод запроса: POST
Код состояния: HTTP/1.1 200 OK
Заголовки запроса 16:00:56.000
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Referer: http://localhost:8080/Stat/login.xhtml
Host: localhost:8080
Connection: keep-alive
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Отправленная кука
treeForm_tree-hi: treeForm:tree:configurations:server-config:httpService:httpListeners:http-listener-2
JSESSIONID: dee273e2b744607342690d43b1ce
JSESSIONID: 64067e81a620adb7ea0e763d3a99
Отправленные данные формы
login:password: 656
login:j_idt8: jgghj
login:j_idt13:

login: login
javax.faces.ViewState: 8172005303651433085:1419625600670599316
Заголовки ответа Δ29мс
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.1 Java/Oracle Corporation/1.7)
Server: GlassFish Server Open Source Edition 4.1
Date: Wed, 02 Sep 2015 12:00:56 GMT
Content-Type: text/html;charset=UTF-8
Content-Length: 2225
Тело ответа Δ0мс
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041704
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавил валидатор на поле username:

Код: xml
1.
2.
3.
4.
5.
  <h:inputText id="username1" value="#{loginController.usern1}"
                             required="true"    >
                    <f:validateLength minimum="3" maximum="15"  for="username1"/>
                </h:inputText>
                 <h:messages/>


вылетает ошибка в меседж:
login:username1: Validation Error: Length is less than allowable minimum of '3'

Складывается впечатление, что не проходит одну из фаз...
Если ставлю 3 цифры, то все нормально проходит.
Идеи?!
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041744
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вообще очень странно все конечно. Попробуйте запустить на томкате, чтобы сузить список проблем.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041823
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал на отдельной машине, на только что скачанном сервере, все работает нормально. Попробую заново снести и поставить глассфишь.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39041941
z3r9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olegeos, у меня бывало вносишь изменения но они не вносятся. Проект заново пересоздашь и все работает. Возможно из-за нехватки места на диске такое было.

Вообще попробуй wildfly сервер заместо glassfish. На нем проект быстрее разворачивается да и у меня на нем глюков таких не было.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39042154
xifr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeosPost запрос:

login:password: 656
login:j_idt8: jgghj
login:j_idt13:

login: login


Судя по посту у вас цифры из браузера приходят "656"

Скопипастил ваш пример на glassfish 4.1 все работает нормально.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39042398
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это пример был, где были и цифры и символы.
Сейчас экспериментирую, у меня тоже если создаю отдельно все работает.
Но есть приложение в котором возникает проблема и пытаюсь разобраться в чем дело, есть подозрение что eclipselink виноват(пока не на 100%)
Создаю новое приложение и постепенно переношу в него исходники, страницы, библиотеки. В какой-то момент пример выше перестает работать.
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39042617
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
валидаторы и конвертеры кастомные смотри
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39043441
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глассфиш гавно
...
Рейтинг: 0 / 0
Да что за... опять jsf
    #39043448
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkovглассфиш гавно
Не могу выразить словами всю глубину своего согласия с вашей предельно точной оценкой.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Да что за... опять jsf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]