powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вывод данных о пользователе
8 сообщений из 8, страница 1 из 1
вывод данных о пользователе
    #39076219
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите люди добрые, как вывести данные о пользователе?
Есть вот такой класс:

Код: 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.
package com.journaldev.jsf.dao;
 
import java.sql.Connection;
//import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
import com.journaldev.jsf.util.DataConnect;
import java.sql.CallableStatement;
import oracle.jdbc.OracleTypes;
 
public class LoginDAO {
 
    public static boolean validate(String user, String password) {
        Connection con = null;
        CallableStatement cs = null;
        ResultSet rs = null;
 
        try {
            con = DataConnect.getConnection();
            String sqlCall  = "{call sp_users(?, ?, ?)}"; 
            cs = con.prepareCall(sqlCall );
            cs.setString(1, user);
            cs.setString(2, password);
            cs.registerOutParameter(3, OracleTypes.CURSOR);
            cs.executeUpdate();
            rs = (ResultSet) cs.getObject(3);
            
            if (rs.next()) {
                //result found, means valid inputs
//                String FIO = rs.getString("FIO");
//                System.out.println("FIO : " + FIO);
                return true;
            }
        } catch (SQLException ex) {
            System.out.println("Login error -->" + ex.getMessage());
            return false;
        } finally {
            DataConnect.close(con);
        }
        return false;
    }

}



в котором используется процедура sp_users с параметрами user и password:

Код: plsql
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.
create or replace procedure sp_users(user in varchar2,
                                     pwd      in varchar2,
                                     cur          out sys_refcursor) is
begin
  open cur for
  
  select 
         t.id as user_id,
         t.user_name,    
         t.fio,
         t.pass,
         filial.id as filial_id, 
         filial.name    as filil_name,
         filial.address as filial_address,
         rko.id as rko_id,
         rko.name       as rko_name,
         rko.address    as rko_address,
         roles.name     as role_name
    from users t
    left join filial on filial.id = t.filial_id
    left join rko on rko.id = t.rko_id
    left join roles on roles.id = t.role_id

    
     where 1 = 1
       and nvl(t.user_name, '') = nvl(user, nvl(t.user_name, ''))
       and nvl(t.pass, '') = nvl(pwd, nvl(t.pass, ''));

end;



Допустим пользователь ввел логин и пароль, как теперь на странице вывести относительные данные этого пользователя например fio, user_name, filil_name, filial_address и т.д (т.е. то что прописано в select)

Спасибо!!!
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39076226
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще Getter и Setter:

Код: 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.
61.
62.
package com.journaldev.jsf.beans;
 
import java.io.Serializable;
 
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
 
import com.journaldev.jsf.dao.LoginDAO;
 
@ManagedBean
@SessionScoped
public class Login implements Serializable {
 
    private static final long serialVersionUID = 1094801825228386363L;
     
    private String pwd;
    private String msg;
    private String user;
    private String fio;
    

    public String getPwd() {
        return pwd;
    }
 
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
 
    public String getMsg() {
        return msg;
    }
 
    public void setMsg(String msg) {
        this.msg = msg;
    }
 
    public String getUser() {
        return user;
    }
 
    public void setUser(String user) {
        this.user = user;
    }
 
    //validate login
    public String validateUsernamePassword() {
        boolean valid = LoginDAO.validate(user, pwd);
        if (valid) {
            HttpSession session = SessionBean.getSession();
            session.setAttribute("username", user);
            return "main";
        } else {
            FacesContext.getCurrentInstance().addMessage(
                    null,
                    new FacesMessage(FacesMessage.SEVERITY_WARN,   "!", "Неверный логин и пароль"));
            return "index";
        }
    }
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39076601
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что значит на странице? У вас будет веб-приложение? Тогда попробуйте использовать сервлет.
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39076637
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipЧто значит на странице? У вас будет веб-приложение? Тогда попробуйте использовать сервлет.
JSF у него. Но чего имеенно хочет, я фиг его знает. Все равно что спросить "у меня есть кирпичи и лопата, как мне сделать окнонный проем"
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39076698
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Как сделать session scope managed bean он хочет узнать. Ну и про EL почитать.
Но какие слова сказать Гуглу не знает.
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39077052
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бэкдор в сохраненной процедуре
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39077084
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczqi_ipЧто значит на странице? У вас будет веб-приложение? Тогда попробуйте использовать сервлет.
JSF у него. Но чего имеенно хочет, я фиг его знает. Все равно что спросить "у меня есть кирпичи и лопата, как мне сделать окнонный проем"

вот страница, в outputText нужно вывести данные из таблицы users (в нашем случае это процедура sp_users) о пользователе кот ввел логин и пароль, например fio, filial_address

Код: 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.
<?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:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <head>
        <title>TODO supply a title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    </head>       
   <body>
      <ui:composition > 

          <p:layout style="width:7000px;height:200px;" >
              <p:layoutUnit position="west" size="205" resizable="false">
                    <h:graphicImage value="/images/new_logo.png" width="179" height="76" /> 
            </p:layoutUnit>

            <p:layoutUnit position="center">
                <p:panelGrid  columns="3" >

                    <h:outputText value="sdfsf" />
                    <h:outputText value="rrrrrrr" />
                    <h:outputText value="Year" />
                    <h:outputText value="bbbbbbbbbb" />
                    <h:outputText value="Color:" />
                    <h:outputText value="ffffffff" />

                </p:panelGrid>
            </p:layoutUnit>
        </p:layout>          
       
      </ui:composition>	

   </body>
</html>
...
Рейтинг: 0 / 0
вывод данных о пользователе
    #39077193
alleo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Askat,

Для начала вам надо в методе DAO выбрать нужного пользователя обычным SELECT запросовм. Затем в методе бина вернуть этого пользователя как то так:
Код: java
1.
2.
3.
public User validateUsernamePassword() {
        return loginDAO.findByUsername(user);
}


Затем в JSF обращаясь к полям ManagedBean вывести информацию о пользователе.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
<p:layoutUnit position="center">
     <p:panelGrid  columns="3" >

     <h:outputText value="#{login.username}" />
     <h:outputText value="#{login.date}" />
     <h:outputText value="#{login.anyLoginField}" />

     </p:panelGrid>
</p:layoutUnit>


Ещё я бы порекомендовал бизнес логику держать в сервисном методе.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вывод данных о пользователе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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