当前页面: 开发资料首页 → JSP 专题 → 请问JSF框架下,怎么样在通过登陆页面后,将管理BEAN中的内容保存进session变量中?分不够再送!
请问JSF框架下,怎么样在通过登陆页面后,将管理BEAN中的内容保存进session变量中?分不够再送!
摘要: 请问JSF框架下,怎么样在通过登陆页面后,将管理BEAN中的内容保存进session变量中?分不够再送!
各位大虾好,我用JB2005开发一个小程序,用的是JSF框架,当我们在登陆页面上输入用户名和密码后,点击“登陆”按钮时,此时调用人员类里面的处理函数,根据已经存储在管理bean中的用户名和密码,从数据库中查找,判断用户输入的用户名和密码是否正确,如果正确了就转到主页面,如果出错,就停留在登陆页面,在主页面上要将登陆人员的相关信息,如所在部门名称、用户名等显示在工具栏中,这些信息应该存储在session中的,不过在哪设置这么一个session?以便后面的程序能使用保存在其中的值?
附:页面代码:login.jsp
.....
.....
人员类 clsUser
package action;
import java.sql.*;
import BusinessLayer.DBOperate;
public class clsUser {
public clsUser() {
}
private String userid;
private String username;
private String password;
private String dwbm;
private String dwmc;
public String getPassword() {
return password;
}
....
public String doLogin() {
String sql="select user_name,role_name,user_power,dqbh,dqmc,xjbh,dwbm_bm,dwbm_mc from all_xt_user where user_id='"+this.userid+"' and user_pass='"+this.password+"'";
String result="loginerror";
Connection conn = null;
try {
conn = DBOperate.getConnection();
PreparedStatement pStat=conn.prepareStatement(sql);
ResultSet rs =pStat.executeQuery();
if(rs.next())
{
this.username=rs.getString("user_name").trim();
this.dqbh=rs.getString("dqbh").trim();
this.dqmc=rs.getString("dqmc").trim();
this.dwbm=rs.getString("dwbm_bm").trim();
this.dwmc=rs.getString("dwbm_mc").trim();
this.userrole=rs.getString("role_name").trim();
this.xjbh=rs.getString("xjbh").trim();
return "loginsuccess";
}
else
return "loginerror";
}
catch (SQLException ex) {
return "loginerror";
}
finally
{
try
{
if (conn != null)
{
conn.close();
}
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
}
要引用SESSION中的变量的页面
<link> href="css/main.css" type="text/css" rel="stylesheet">
。。。。。
当前用户:
<%=ses_userBean.getUsername() %>
敬请各位指点,不胜感激!
MSN:yz_wzl@hotmail.com
QQ:317917750
你已经把bean的scope设置为"session"了, 应该就不用session.getAttributes了,直接就可以取值啊
楼上的,怎么取值呀,取不到呀
为什么不都用JSF页面
你只要把clsyser的scope设成session,
在其他的页面用outputText绑上#{clsuser.userid}就可以显示了啊
检查了半天,发现一个小错误,解决了