- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经使用 JSF 和 PrimeFaces 实现了一个登录表单。我用了this example在 PrimeFaces 展示网站上。
我有一个 Facelets 页面来显示数据表。现在我需要将上面的登录表单与这个表格页面集成在一起。所以我在 LoginBean.java 中添加了几行来处理 session 属性。
if (username.equals(getUsername_db()) && password.equals(getPassword_db())) {//valid user and paward
loggedIn = true;
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", getUsername_db());
//new lines
FacesContext context2 = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context2.getExternalContext().getSession(true);
session.setAttribute("user", username);
//end of new lines
...
如果用户未登录,我需要从数据表中隐藏一列。现在我的问题是,如何访问我的 Facelets 页面中的 session 属性?
最佳答案
您已将登录用户存储为名称为“user”的 session 属性。
所以它在 EL 中可用如下:
#{user}
您可以只使用 EL 中的 empty
关键字来检查它是否存在(即是否已登录),您可以使用 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>
存储 session 属性的更好方法是使用 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=? AND password=?
在 SQL 中?还是您不相信 DB 会返回正确的行?
关于java - 如何访问 Facelets 页面中的 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13047446/
我有多个模板,它们之间的区别仅在于几个容器。最复杂的一个包含所有其他容器中使用的所有容器的超集,因此为了避免创建多个模板,我按以下格式创建了最复杂的一个 some layout stuff (di
有没有办法将 html 文件的内容插入到 Facelet 模板中? Facelets 标记将不起作用,因为它仅用于包含 Facelet 内容。 换句话说,我正在寻找等同于 JSP include 指令
我有一个用 JSP 编码的应用程序,现在我们正在将页面迁移到 Facelets。 我们的 PhaseListeners 之一正在操作组件树,因为它需要找出树中的一些组件并提取其中的一些值。但是对于 F
我已经读了好几遍了:一些开发人员不提倡在他们的 XHTML 文件中将 JSF/Facelets 标签与 HTML 标签交织在一起。显然 HTML 标签不会成为 UI 组件树的一部分,但这样做的缺点是什
我正在使用 JSF 2.0 构建一个 Web 应用程序,并且在我的 WEB-INF > lib 文件夹中有一个 jaf-facelets.1.1.10 jar,所以现在我正在尝试删除它,以便我可以使用
我正在使用 Apache MyFaces Commons Validator标签库。 我应该如何将它添加到我的 web.xml 中?通过Maven下载和解析commons JAR。 XHTML(我认为
我正在尝试使用 Facelets 创建自定义标签,但它没有呈现(即标签在响应中显示为未替换)。 标签(/WEB-INF/facelets/tags/inputThumbnailSelector.xht
当我的页面无法正确呈现时,我会在 jboss 控制台中看到此信息。有谁知道这是什么意思? 14:22:46,403 INFO [facelet] Facelet[/layout/header.xht
有人知道如何获取 ui:repeat Facelets 标记中元素的索引吗? 最佳答案 指定“varStatus”属性的值: 然后您可以通过 EL 访问循环索引: #{myVarSta
我在使用 Facelets 中的自定义组件时遇到问题。第一次呈现页面时,会在组件类上正确设置属性。但是,当提交表单时,不会设置属性。 这是我用来测试这个的类。 public class TestEch
我在 Tomcat 中使用 JSF 2 和 RichFaces。我是初学者,正在试用我找到的页面 here ,但页面只是空白(未呈现内容)。我尝试添加 Facelets 1.1 库,页面呈现没有问题。
我在我的应用程序中大量使用 bundle 的属性,因为我努力在未来保持代码的可维护性。因此,所有 HTML 文本都是从键/值属性文件中获取的,例如。 'index_en.properties' 当我需
我正在尝试将 Facelets 与 MyFaces 1.2 一起使用。看起来 Facelets 下载地址为 http://facelets.dev.java.net不复存在。 有谁知道 1) 我在哪里
在 Eclipse (Helios) 中打开 JSF 页面(JSF + Apache Trinidad + facelet)时,Eclipse 在页面打开前会卡住几秒钟。 同样在编辑页面时,代码完成/
有没有办法在构建或部署过程中检查您的 Facelets 文件是否有错误? 我不是在寻找一种解决方案,它不仅可以根据架构验证 Facelets 文件,还可以验证 EL 表达式是否有效。例如,如果属性或方
我有一个包含 8 列的 JSF 数据表。最后 4 列是数值列。可以说我的数据表带来了 20 行结果。我想添加最后一行,它只包含最后 4 列的字段并包含 20 行对应值的总和。我想用 Facelets
我想在另一个模板中使用 Facelets 模板。目前我有一个“基本”模板,到目前为止已经足够我完成的所有页面。它有一个顶部和一个内容区域。 顶部具有 Logo 、菜单、登录/注销功能,而内容区域则显示
我有一个使用组合的应用程序(用于页面模板)。但是我们认为在创建一个 web 应用程序( war )来托管所有应用程序共享的所有应用程序的所有模板。 如何包含来自其他上下文的模板?此时我使用从 http
我有一个对象列表,其中我不知道有多少,也不知道将调用哪些属性。我可以创建一个数据表来在不同的列中显示所有对象的属性吗? 我在想类似的事情: "#{object.attribu
使用 Facelets 时,我在导航方面遇到了一些问题。 我在 /WEB-INF 中有我的主模板: Header
我是一名优秀的程序员,十分优秀!