假设1:在主页登陆后要返回主页并在原来是登录框的地方显示 某某您好,欢迎您登录 日期
这个怎么做?
假设2:用户登录后把一些相关信息放在session中,在另一个页面判断用户未登陆时是用session中的userName再到数据库中搜索一次来判断到底登录没 还是 在用户登录后在user表中设置一个用户权限,如果为某个字符则表示已经登录了。
那么,用那种方法更科学,更好?或者说有更好的方法?
假设3:在访问一个页面时如果之前就已经登录了就显示 某某您好,欢迎您登录 日期。如果未登陆就显示登录框。
这个怎么做?判断是否登陆在Bean中写方法,但是在faces-config.xml中配置导航规则时该怎么写?它们都是一个页面啊难道说写header1.jsp header2.jsp两个header,一个放登录框,一个放 某某您好,欢迎您登录 日期?或者说还是把判断放在页面里?那这个不是违背了框架式开发的原理吗,而且不好维护是吧
这个怎么做?
假设2:用户登录后把一些相关信息放在session中,在另一个页面判断用户未登陆时是用session中的userName再到数据库中搜索一次来判断到底登录没 还是 在用户登录后在user表中设置一个用户权限,如果为某个字符则表示已经登录了。
那么,用那种方法更科学,更好?或者说有更好的方法?
假设3:在访问一个页面时如果之前就已经登录了就显示 某某您好,欢迎您登录 日期。如果未登陆就显示登录框。
这个怎么做?判断是否登陆在Bean中写方法,但是在faces-config.xml中配置导航规则时该怎么写?它们都是一个页面啊难道说写header1.jsp header2.jsp两个header,一个放登录框,一个放 某某您好,欢迎您登录 日期?或者说还是把判断放在页面里?那这个不是违背了框架式开发的原理吗,而且不好维护是吧
JSF与STRUTS差不多的,这两个都是一个人搞出来的.
具体的不清楚说下方法总有吧?比如说在STRUTS中怎么处理这种情况呢
<%
if(session.getAttribute("username")==null){
%>
请您登陆!
<%
}else{
%>
你好:<%=session.getAttribute("username")%>
<%}%>问题2 :在另外一个页面判断session.getAttribute("username")是否为空,当然,这是在不涉及用户权限的情况下,如果用户有权限区别,那么在登录的时候把用户权限放到session中,然后取出来判断就可以!问题3 :放在页面中就可以了,因为需要进行的判断很简单,MVC中也不是说前台就不能有逻辑代码。
是在主页中定义还是在backing bean中?
貌似在主页中定义userName为null
<%
if(session.getAttribute("username")==null){
%>
这句话好象总为true吧
在登陆成功后,用session.setAttribute("userName",userName);这样的话,只要不结束此次对话,session.getAttribute("username")都不会为空.
其实你说的三个问题都可以用是一个问题,都可以用session对象来解决,这个是JSP的隐式对象,可以多看看它的资料
在manager bean设置一个属性如boolean login=false;
登陆成功login=true;
在页面中根据login值来决定是登陆还是欢迎,你可以这样写
<h:panelGrid style='display:#{UserBean.login==true?"none":""}'>
<h:outputText value="请登陆"/> .....
</h:panelGrid>
<h:panelGrid style='display:#{UserBean.login==true?"":"none"}'>
<h:outputText value="欢迎你,#{UserBean.username}"/> .....
</h:panelGrid>