Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление данных / 25 сообщений из 29, страница 1 из 2
30.08.2017, 09:29
    #39512594
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Здравствуйте. Я пытаюсь создать страничку на JSF с возможностью обновления данных пользователя. У меня есть класс User, его мэнеджер, главный бин и страничка.

Код: 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.
package models;

import java.io.Serializable;
import javax.persistence.*;

@Entity
@Table(name="user")
@NamedQuery(name="User.findAll", query="SELECT u FROM User u")
public class User implements Serializable  {
    
    @Id
    @Column(name="id")
    public int id;
    
    @Column(name="FIO")
    public String FIO;
    
    @Column(name="position")
    public String position;
    
    @Column(name="date_of_bird")
    public String dateOfBird;
    
    @Column(name="date_of_begining")
    public String dateOfBegining;
     
    @Column(name="login")
    public String login;
    
    @Column(name="password")
    public String password;
    
    @Column(name="type")
    public String type;
    
далее куча get и set



Его менеджер
Код: 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.
package managers;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.PersistenceUnit;
import javax.persistence.TypedQuery;

import models.User;

public class UserManager {
    
    public EntityManager em = Persistence.createEntityManagerFactory("Cars").createEntityManager();
    
    public UserManager()
    { }
    
    public User add(User user)
    {
        em.getTransaction().begin();
        User drs = em.merge(user);
        em.getTransaction().commit();
        return drs;
    }
    
    public void delete(int id)
    {
        em.getTransaction().begin();
        em.remove(get(id));
        em.getTransaction().commit();
    }
    
    public User get (int id)
    {
        return em.find(User.class, id);
    }
    
    public void update(User user)
    {
        em.getTransaction().begin();
        em.merge(user);
        em.getTransaction().commit();
    }
    
    public List<User> getAll()
    {
        TypedQuery<User> namedQuery = em.createNamedQuery("User.findAll", User.class);
        return namedQuery.getResultList();
    }
}



Главный бин

Код: 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.
59.
60.
@ManagedBean (name="Main") 
@RequestScoped             
public class MainBean {
    
    public User user;
    public UserManager usManager;
    public Drivers driver;
    public DriversManager dm;
    
    /*ManagedProperty(value="#{User}")
    UserBean userBean;*/
    
    public String login;
    public String password;

    public List<User> users;
    public List<Drivers> drivers;
    
    //@ManagedProperty(value="#{param.userId}")
    public int selectedId;
    public String selectedFIO;
    public String selectedPosition;
    public String selectedDateBirth;
    public String selectedDateBegin;
    public String selectedlogin;
    public String selectedPassword;
    
    public List<UserViewer> usView;
    
    public MainBean()
    {
        getUs();
    }
public String addUsers()
    {
        user = new User();
        usManager = new UserManager();
        user.setFIO(selectedFIO);
        user.setPosition(selectedPosition);
        user.setDateOfBird(selectedDateBirth);
        user.setDateOfBegining(selectedDateBegin);
        user.setLogin(selectedlogin);
        user.setPassword(selectedPassword);
        usManager.add(user);
        return "table.xhtml";
    }

public void updateUser()
    {
        user = new User();
        usManager = new UserManager();
        user.setId(user.id); 
        user.setFIO(user.FIO); 
        user.setPosition(user.position); 
        user.setDateOfBegining(user.dateOfBegining); 
        user.setDateOfBird(user.dateOfBird); 
        user.setLogin(user.login); 
        user.setPassword (user.password); 
        usManager.update(user);
    }



И две страницы. На 1 таблица с пользователями, и там есть переход на другую страницу с информацией о пользователей.

Код: 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.
<!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:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html">
<h:head>
	<title>JSF JDBC Integration</title>

</h:head>
<h:body>
	<h2>Список пользователей</h2>	
        <h:form>
	<h:dataTable value="#{Main.users}" var="l" border="2">
	<h:column>
	<f:facet name="header">ID</f:facet>
        #{l.id}
        </h:column>
        <h:column>
	<f:facet name="header">FIO</f:facet>
         #{l.FIO}
        </h:column>
        <h:column>
        <f:facet name="header">Должность</f:facet>
         #{l.position}
        </h:column>
        <h:column>
	<f:facet name="header">Дата рождения</f:facet>
        #{l.dateOfBird}
        </h:column>
        <h:column>
            <f:facet name="header">Дата принятия на работу</f:facet>
            #{l.dateOfBegining}
        </h:column>
            <h:column>
                <h:commandLink value="Информация о пользователе" action="#{Main.returnUser(l.id)}">
       <!--<f:param name="userId" value="#{l.id}" />!-->
       </h:commandLink>
       </h:column>
	</h:dataTable>
         
        <h:commandButton value="Зарегистрировать пользователя" action="registration.xhtml" />
        </h:form>
</h:body>
</html>



Код: 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.
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
     <title>Страница регистрации пользователей</title>
 </h:head>
 <f:view>
 <h:body>
    <h:form>
        <h:panelGrid columns="2" border="0">
            <h:outputText value="Введите ФИО"/>
            <h:inputText value="#{Main.user.id}" />
            <h:outputText value="Введите Фамилию"/>
            <h:inputText value="#{Main.user.FIO}" />
            <h:outputText value="Введите позицию"/>
            <h:inputText value="#{Main.user.position}" />
            <h:outputText value="Введите позицию"/>
            <h:inputText value="#{Main.user.dateOfBegining}" />
            <h:outputText value="Введите позицию"/>
            <h:inputText value="#{Main.user.dateOfBird}" />
            <h:outputText value="Введите позицию"/>
            <h:inputText value="#{Main.user.login}" />
            <h:outputText value="Введите позицию"/>
            <h:inputText value="#{Main.user.password}" />
        </h:panelGrid>
        <h:commandButton value="Обновить данные" action="#{Main.updateUser}" />
    </h:form>
</h:body>
</f:view>
    </html>



Однако при обновлении данных я ловлю ошибку
/UserInformation.xhtml @14,52 value="#{Main.user.id}": Target Unreachable, 'null' returned null
Скажите, как это исправить?
...
Рейтинг: 0 / 0
30.08.2017, 11:09
    #39512657
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Неужели никто не знает?
...
Рейтинг: 0 / 0
30.08.2017, 11:19
    #39512662
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Norman94Неужели никто не знает?
Jsf мало кто работает. 1-2 чела.
...
Рейтинг: 0 / 0
30.08.2017, 21:58
    #39513047
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Весь день бьюсь над задачей, но так ничего и не придумал. По сути метод построен правильно, но он по какой то причине не хочет считывать данные с UserInformation.xhtml, словно там ничего и нет, хотя данные там есть. В чём дело не пойму.
...
Рейтинг: 0 / 0
30.08.2017, 22:24
    #39513054
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Norman94Весь день бьюсь над задачей, но так ничего и не придумал. По сути метод построен правильно, но он по какой то причине не хочет считывать данные с UserInformation.xhtml, словно там ничего и нет, хотя данные там есть. В чём дело не пойму.
А вы гуглили хорошо? Я вот набрал и сразу выдало несколько ссылок на стековерфлоу, там пишут про нулл, про постконструкт и много чего еще другого, вы пробуйте, смотрите, читайте внимательно.
...
Рейтинг: 0 / 0
31.08.2017, 00:00
    #39513077
output
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Norman94,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
user = new User();
user.setId(user.id); 
user.setFIO(user.FIO); 
user.setPosition(user.position); 
user.setDateOfBegining(user.dateOfBegining); 
user.setDateOfBird(user.dateOfBird); 
user.setLogin(user.login); 
user.setPassword (user.password);



Зачем тут создание юсера и не понятные перекладывания из пустого в пустое user.setId(user.id);
...
Рейтинг: 0 / 0
31.08.2017, 00:23
    #39513087
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Norman94, возьми фреймворк попроще.
...
Рейтинг: 0 / 0
31.08.2017, 08:25
    #39513147
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Nixic,

Пробовал постконстракт - он при нажатии кнопок создаёт новое поле, но пустое. Остальное я гуглил, но там в большинстве случаев связано с добавлением данных, а это немного другое. Я и вместо SessionScoped ставил View Scoped, тогда на новой странице все данные обнулялись.

output,

Раз он пишет, что принимает значение null, я решил перезаполнять поля, но и это не помогло.

mayton,

С радостью, но сказали делать на этом.
...
Рейтинг: 0 / 0
31.08.2017, 10:06
    #39513215
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
maytonNorman94, возьми фреймворк попроще.

Да дело тут не в фреймворке.
...
Рейтинг: 0 / 0
31.08.2017, 10:56
    #39513239
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Hett,

А в чём?
...
Рейтинг: 0 / 0
08.08.2018, 06:52
    #39684570
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Petro123Norman94Неужели никто не знает?
Jsf мало кто работает. 1-2 чела.
а почему? это же прогрессивная технология
...
Рейтинг: 0 / 0
08.08.2018, 07:20
    #39684576
Beginner10
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Nixic,
Здравсвуйте можете мне помочь с задачей)
...
Рейтинг: 0 / 0
08.08.2018, 08:01
    #39684585
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
KorcarPetro123пропущено...

Jsf мало кто работает. 1-2 чела.
а почему? это же прогрессивная технология
Поиск нажми. Где пишут что это мейнстрим?
...
Рейтинг: 0 / 0
08.08.2018, 08:10
    #39684586
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Petro123Korcarпропущено...

а почему? это же прогрессивная технология
Поиск нажми. Где пишут что это мейнстрим?
на ютубе в 3-х роликах-обучалках говорят. говорят jsp - это фу, древняя технология и вообще не круто, а вот jsf - это то, что всем надо)
...
Рейтинг: 0 / 0
08.08.2018, 08:31
    #39684590
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Korcarна ютубе в 3-х роликах-обучалках говорят. говорят jsp - это фу, древняя технология и вообще не круто, а вот jsf - это то, что всем надо)на заборах то же много что пишут - и ты этому веришь?
...
Рейтинг: 0 / 0
08.08.2018, 11:42
    #39684703
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
вадяKorcarна ютубе в 3-х роликах-обучалках говорят. говорят jsp - это фу, древняя технология и вообще не круто, а вот jsf - это то, что всем надо)на заборах то же много что пишут - и ты этому веришь?
на заборах - обезличенные надписи, а на ютубе всё-таки каналы. никто ж их смотреть не будет, если лажу несут. так что, они ошибаются?
...
Рейтинг: 0 / 0
08.08.2018, 12:20
    #39684750
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Norman94Неужели никто не знает?
- у Вас какой то непонятный код. Во всяком случае я не догнал, что это значит:
Код: java
1.
2.
user = new User();
user.setId(user.id);
...
Рейтинг: 0 / 0
08.08.2018, 12:30
    #39684766
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Korcar3-х роликах-обучалкахнужно больше выборку делать))).
Машину покупал по трем мнениям?
Тещиному, жены и собаки Жучки)))
...
Рейтинг: 0 / 0
08.08.2018, 12:34
    #39684769
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
И кроме этого - как в классе User генерируется id?
...
Рейтинг: 0 / 0
08.08.2018, 12:40
    #39684776
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Поле id в таблице User IDENTITY INCREMENT?
...
Рейтинг: 0 / 0
08.08.2018, 12:56
    #39684784
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
JSF скорее мертв чем жив.

Не чокаясь...
...
Рейтинг: 0 / 0
08.08.2018, 14:17
    #39684827
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
maytonJSF скорее мертв чем жив.

Не чокаясь...
м! да? аргументы?
...
Рейтинг: 0 / 0
08.08.2018, 14:57
    #39684854
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Отсутствие вакансий.

Все новые проекты стартуют с любых других фреймворков.

Поэтому я предположил что JSF скорее мертв.
...
Рейтинг: 0 / 0
08.08.2018, 15:08
    #39684867
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
maytonОтсутствие вакансий.

Все новые проекты стартуют с любых других фреймворков.

Поэтому я предположил что JSF скорее мертв.
- зато есть старые успешные проекты, на которые JSF-вакансии есть) Но, конечно, стоит отметить печальный факт, что мода на JSF и на JavaEE в целом - прошла. Технологии работающие, но не модные(
...
Рейтинг: 0 / 0
08.08.2018, 15:09
    #39684869
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных
Beginner10Nixic,
Здравсвуйте можете мне помочь с задачей)
А чего сразу я-то!!!? )))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление данных / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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