问题标签 [facelets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么在请求 facelet 时会多次调用 BackingBean 方法?
这些天我在工作和学习 JSF + Facelets。我有一个 BackingBean 和一个 Facelet xHTML 页面。当我请求 facelet-page(仅一次)时,backing-bean-method 被多次调用。
这可能是什么原因?
我看不出有什么特别的。提前致谢。
这是小脸:
这是支持豆。方法 getKunden 被多次调用:
jsf - 如何创建以可变数据为参数的 facelet 超链接?
我有两个 facelet 页面:customers.xhtml(带有客户列表)和 customer.xhtml,用于仅查看一位客户的详细信息。我在 customers.xhtml 中使用 ah:dataTable 组件:
现在我想为表中的每个客户创建一个超链接。超链接应导航到 customer.xhtml。每个客户都有一个属性primaryKey
,它应该告诉 customer.xhtml 应该显示哪个客户。
我该怎么做呢?如果我为每个 facelet 页面使用两个不同的 backing-bean,它是如何工作的?
提前致谢。
java - 如何在 Netbeans 6.8 中为 JSF 1.2 中的 facelets 启用代码完成?
我想在 NetBeans 6.8 中为 facelets + JSF 1.2 启用代码完成。我更愿意为我使用自己的 Ant build.xml 构建的自由格式项目启用它,但我看不到启用它的选项,因此我愿意使用“具有现有源的 Web 应用程序”。
对不起所有的屏幕截图。我只是想展示我的所作所为。
项目设置
项目配置
设置和配置后,facelets 中的代码完成仍然不起作用。
我错过了什么吗?我会以错误的方式解决这个问题吗?
解决方案
这就是我最终做的事情:
java - 我应该使用 Facelets“jsfc”属性吗?
Facelets 使用jsfc属性将 HTML 元素转换为其关联的JSF组件。这对于快速原型设计很有帮助,因为它允许您使用可视化设计工具创建视图。然而,我最近发现了Cay Horstmann的这篇博客文章,他在其中浪费了jsfc以及复杂组件(例如h:dataTable )的使用。
这让我感到震惊,因为Cay Horstmann是我最喜欢的多本 Java 书籍的作者。然而,我的 Google-fu 技能在试图确定问题的范围/性质时产生了零结果,除了Ed Burns最近的一篇文章,他很喜欢jsfc(他毕竟是JSF的共同规范负责人) . 所以我的问题很简单,是否建议将jsfc与 Facelets 一起使用?如果不是,它会带来什么问题。
java - JSF 语言环境异常
我是 JSF 的新手,我想将我的网页国际化,这样网站访问者就可以通过单击代表每个区域设置的标志图标在语言之间切换。我编辑了 faces-config.xml 并添加了资源包、默认语言环境和支持的语言环境。然后我写了一个名为 changeLang.java 的 bean,它应该是用来做后台工作的。当页面被评估时,我收到以下错误:
技术:
JSF 2.0 Mojarra 2.0.2
Spring 3.0.0
Facelets
我的
changeLang.java 文件
和“使用页面”片段
完整日志:
拜托,你会这么好心,帮我解决这个问题吗?
感谢您的任何建议。
java - 当他使用相同的凭据登录两次时如何使用户会话无效
我正在使用带有 Richfaces 和 Facelets 的 JSF 1.2。
我有一个包含许多会话范围 bean 和一些应用程序 bean 的应用程序。
用户使用 Firefox 登录。使用 ID="A" 创建会话;然后他打开 Chrome 并使用相同的凭据再次登录。使用 ID="B" 创建会话。
创建会话“B”时,我希望能够销毁会话“A”。怎么做?
还。当 Firefox 中的用户执行任何操作时,我希望能够显示一个弹出窗口或某种通知,说“您已注销,因为您已从其他地方登录”。
我有一个 sessionListener 跟踪创建和销毁的会话。问题是,我可以将 HTTPSession 对象保存在应用程序范围的 bean 中,并在检测到用户已登录两次时将其销毁。但是有些事情告诉我这是错误的,并且行不通。
JSF 是否在服务器端的某处跟踪会话?如何通过标识符访问它们?如果不是,如何在用户登录两次时踢出用户的第一次登录?
eclipse - Eclipse/Tomcat 6 无法识别 Facelets 选项卡库
我将它包含在我的 index.jsp JSF 文件中:
和 Eclipse 下划线的 URL,悬停给出了这个:
使用 Tomcat 插件部署并尝试启动 Tomcat 6 会导致:
...
我的 web.xml 包含这个
我的 face-config.xml 包含这个
我的应用程序构建具有最新的 JSF 2.0.2 jsf-api.jar 和 jsf-impl.jar。我还有 MyFaces 1.2.8 和所有最新的公共 jar。该应用程序构建良好,直到我升级 JSF。我至少预计会出现运行时错误,但这里 Eclipse 看不到 taglib。我还能错过什么?
编辑
有关完整信息 - 我取出 Mojarra 并留在 Myfaces。这意味着我需要从我的web.xml
:
并将其替换为 myfaces 的等效项:
谢谢
java - 如何在 JSF 模板中定义将在别处定义的 onLoad 函数
我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用一个 onLoad 函数,但不是为我的其他页面(目前)。我有一个 template.xhtml 文件,其中包含以下内容:
<div id="content">
<ui:insert name="content"/>
</div>
然后在 login.xhtml 我有:
<ui:define name="content">
...
</ui:define>
通常我会把它放在 login.xhtml 中:
<body onload="document.getElementById('login_form:name').focus();">
但是由于我使用的是 JSF 的 ui 组合标签,所以我不能<body/>
在 login.xhtml 中拥有该标签(至少我尝试这样做的方式)。
有没有办法用我描述的结构来完成这个?我想这样做的方法是让 onLoad 在模板中调用一个函数,然后每个带有 ui:define 的页面都会填充这个函数。那可能吗?
谢谢!
jsf - Facelets 和 JSTL(将日期转换为字符串以在字段中使用)
我需要在页面中将日期转换为字符串(我不想将大量 toStrings 添加到我的域模型中,因此添加到 bean 不是一种选择)。
上面的代码有效,但将日期格式化为默认格式...我想更改格式。
我曾尝试使用 JSTL fmt,但这似乎与 Facelets JSF Convert dates for title attribute不兼容。是否有解决方法(不必使用 JSTL)?
谢谢。
jsf - 为 JSF 2 复合组件生成文档
我正在寻找为自定义 JSF 2 复合组件库生成文档。复合组件没有在任何 faces-config.xml 文件中引用,而是复合组件的 .xhtml 文件存储在 META-INF/resources 中,并使用新的复合:接口标签来定义接口。
对于 JSP 标记库,可以使用https://taglibrarydoc.dev.java.net/生成文档,我想知道我的 JSF 2 复合组件库是否有类似的东西。