您已将登录用户存储为名称为“ user”的会话属性。
因此它在EL中可用如下:
#{user}
您可以只使用
emptyEL中的关键字来检查其是否存在(即是否已登录),并且可以使用JSF组件的
rendered属性来指示是否生成HTML输出。
<h:panelGroup rendered="#{not empty user}"> <p>Welcome #{user}, you have been logged in!</p></h:panelGroup>
在隐藏表列的特定情况下,只需按以下方式使用它:
<p:column rendered="#{not empty user}"> ...</p:column>
存储会话属性的一种更好的方法是使用
ExternalContext#getSessionMap()。这样,您的代码就不会有臭味了
javax.servlet.*。
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", username);
与 具体问题 无关 ,为什么要下面检查?
if (username.equals(getUsername_db()) && password.equals(getPassword_db())) {
您为什么不只使用
SELECt ... FROM user WHERe username=? ANDpassword=?SQL?还是您不信任数据库返回正确的行?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)