问题标签 [jsf-2]
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 - JSF 1.0 与 JSF 2.0
这两个版本的 JSF(JSF 1.0 和 JSF 2.0)有什么区别?由于我是 Java 新手,我只发现差异在于架构级别。但是,从长远来看,我无法理解它对应用程序开发的影响有多大?
此外,强加的 MVC 与 JSF 和 Spring 不同。即使 JSF 改进了体系结构,Spring 仍然被更多地使用。Spring 的重要性是什么?
java - JSF 2 复合:actionSource 在 ui:repeat 中公开命令按钮
在我的复合组件中,我有一个 ui:repeat,除了其他静态内容外,它还有一个命令按钮,如下所示:
现在,我想在复合接口中公开这个事件,以便在我的页面中,我可以附加事件侦听器并绑定 f:ajax。
如果它在 ui:repeat 之外(即只有一个这样的按钮),那将非常容易,如下所示:
但在这种情况下失败了,因为该 ID ( addToFavs )没有一个组件,而是一堆组件。你知道我应该如何在界面中暴露这些按钮吗?
问候,
普拉季姆纳
java - JSF 2.0 复合组件 - ajax 渲染参数 OUTSIDE 组件定义
考虑一个简单的复合组件,它采用某种动作参数——例如,一个简单的链接“美化器”。我想'ajaxify'它。
我通过客户行为公开一个事件。我这样使用它:
你可以看到我想要做什么:我想在复合定义之外做一个 ajax 渲染;只需将渲染设置为“外部”就会出现可怕的<f:ajax> contains an unknown id
错误。
是的,我知道命名容器,而且我知道我们可以在前面加上一个冒号并指定一个绝对路径,但这很笨拙。如果我将它包裹在更多层中(这是重点),我必须手动将这些引用链接在一起。
我可以进行某种相对引用,例如render="../outside"
跳过对组件父容器的引用吗?
我用 a4j 做了一个 jsf 1 应用程序,这种模式到处都在使用。
java - JSF 2.0 模板化和MB注入|| CDI豆
问题:托管 bean 没有通过模板注入。
目标:我想在模板中减速注销按钮。
场景:我正在使用 jsf 2.0 为 Web 部件构建 j2ee 6 应用程序。
模板文件布局/template.xhtml
模板客户端 index.xhtml :
面对 web.xml 中的声明
安全支持.java:
如你所见 :
和
在 layout/template.xhtml 和 index.xhtml 中减速,但在 layout/template.xhtml 中减速的按钮在同一时间不起作用,它们在 index.xhtml 中工作。
当我查看 Safari 网络检查器时,我看到:
在 index.xhtml 中减速
和 layout/template.xhtml
据我了解,bean 没有在标签内注入 daclets 模板,但我在 j2ee 6 教程和规范中没有找到任何关于此的信息,或者可能会注意到此类信息。
Q1:关于注射,我说得对吗?
Q2:为什么不通过模板注入?
Q3:在这种情况下,模板化的不同方式是什么?
Q4:这个案例的最佳实践是什么?
(我正在使用 glassfish v3 网络服务器)
谢谢 !
maven-2 - JSF 2.0 中的 i18n 问题(乌克兰语和俄语)
目标:我想用jsf`s i18n
设想:
创建资源包 (utf-8)
文件信息:
使用它
面孔配置:
在一些 index.xhtml 中:
问题:结果我得到这些按钮的错误编码文本。
我试图使用 native2asciiin maven
pom.xml:
我得到了不同的符号,但仍然是错误的。
我通过传递消息来欺骗我:
消息.java:
它成功了,我得到了一个有效的文本,但是在 jsf 中使用它很难看..
信息:我正在使用 glassfish v3,mac osx(所以默认编码 latin1 或 ISO-8859-1,- 不舒尔。)
Q1:什么可能是问题的原因(jsf i18n 编码错误)?[关闭]
Q2:是否可以在 maven 或一些 jsf 期货的帮助下为 jsf 做类似 String (value.getBytes("ISO-8859-1"),"UTF-8") 的技巧?
Q3:maven配置有什么问题?
谢谢!
jsf - JSF 2 cc:将属性传递到支持 bean
我正在创建一个自定义组件,它是给定产品编号的图像查看器。我使用 BalusC 的 ImageServlet 的修改版本访问这些文件:
接下来我创建了一个复合组件:
如您所见,我只是从托管 bean 中获取图像列表。这确实是必要的唯一原因是因为我需要知道给定产品有多少图像。这可能会有很大差异(从 8 到 100 不等)。这是该代码:
有一个简单的对象来保存我迭代的数据:
最后,我使用http://localhost:8080/project-name/testImages.xhtml?id=213123的 URL 测试这个复合组件。下面是 testImages.xhtml 的代码:
问题来了:应用程序和复合组件之间唯一的交互点应该是 tag <sdCom:imageViewer listID="test" />
。然而,这是一个有漏洞的抽象。托管 bean 会根据请求的id
参数获得产品编号。这是非常不可取的。它在组件和使用它的应用程序之间创建了更紧密的耦合。理想情况下,我应该按如下方式使用标签:<sdCom:imageViewer listID="test" productNumber="213123"/>
. 但是,我想不出一种方法来做到这一点,但仍然知道我需要创建多少图像。
在此先感谢,扎克
编辑:调用一个接收产品编号并返回该产品具有的图像数量的 servlet 是完全可以接受的。但是,我还没有找到一种方法来运行循环n
时间(for 循环),而不是为 Collection 中的每个对象运行一次(foreach 循环)。我对任何涉及@ManagedProperty("#{param.id}")
从支持 bean 中删除它的解决方案都非常满意。
jsf - 更新外部的组件组件的上下文
是否可以让 JSF 更新放置在组件上下文之外的组件?
目前以下页面无法正常工作:
我知道如果我将#out
组件放入<h:form>
页面中,将会正确呈现。但是有没有办法将#out
组件放置在表单之外(例如它现在所在的位置)?
jsf - JSF 使用普通/原始 XHTML/XML/EL 源而不是呈现的 HTML 输出返回空白/未解析页面
我有一些 Facelets 文件,如下所示。
两个页面都使用/templates
目录中的模板。我/index.xhtml
的在浏览器中打开正常。我得到了生成的 HTML 输出。我有一个/index.xhtml
文件到/register.xhtml
文件的链接。
但是,我/register.xhtml
没有被解析并返回为纯 XHTML/原始 XML,而不是其生成的 HTML 输出。所有形式的 EL 表达式#{...}
都按原样显示,而不是打印它们的结果。当我在浏览器中右键单击页面并执行View page source时,我仍然看到原始 XHTML 源代码而不是生成的 HTML 输出。例如,<h:body>
没有变成<body>
. 看起来模板没有被执行。
但是,当我在浏览器的地址栏中打开/register.xhtml
类似/faces/register.xhtml
内容时,它会正确显示。这是如何引起的,我该如何解决?
xhtml - JSF2:将 cc:attribute 限制为列表中的给定对象类型
如果我有一个托管 bean,如下所示:
并有一个自定义组件接受 List 作为属性:
我怎么能确保这有效:
但这没有:
换句话说,我想做的cc:attribute
如下:
然而,我们知道 xhtml 不喜欢使用 > 或 <。此外,仅在编译时检查泛型,我不确定如何完成。有谁知道这是否可能?
java - 有可用的简单 JSF commandButton 示例吗?
我一直在努力让我的 commandButtons 执行操作(但奇怪的是,我从 bean 中提取数据以包含在我的页面中没有问题)。甚至将我的代码发布到其他地方并让其他人审查。到目前为止,没有运气。所以,我在想也许是一种不同的机智。谁能给我指出一个项目的一些非常简单/基本的示例代码,该项目有一个能够成功调用操作的命令按钮?