Tag: facelets

如何使用JSF 2.0复合组件实现dynamic列表?

我问了这个问题,尽pipe答案直接满足了我的需求,但我还是有一种感觉,就是对这个问题有一个更简单的解决scheme。 我想有一个复合组件接受项目列表(商定的项目的types,以便成员可以在复合组件中自由使用) CC(复合组件)显示项目列表并允许项目的增加和减less。 我想以最简单和有效的方式做到这一点。 为了说明这个问题,举个例子: 定义应该相当简单(当然,除非:-)): <special:dynamicFieldList value="#{bean.fieldList} /> Field对象最抽象的forms是: public class Field{ String uuid; String value; } 我想就是这样。 你将如何以简单的方式实现这个? 谢谢!

在同一个命名容器中重复使用facelets组合时避免重复的id

我有一个<ui:composition> ,它包含一些带有显式id和一些引用这些id的部分处理/更新的ajax事件。 我把这个xhtml片段封装在组合中,所以我可以在几个不同的地方使用它,而不必复制代码。 但是,当我在页面中多次使用组合( <ui:include> )时,会出现重复的idexception。 看来JSF并没有将每个组合包装在自己的命名容器中(比如<ui:component> )。 有一个简单的方法来包装我的作品在自己的命名容器? 或者每次我想在通用的命名容器中重用xhtml片段时,都必须使用复合组件?

如何使用相同凭据login两次时使用户会话失效

我在RichFaces和Facelets中使用JSF 1.2。 我有许多会话范围的bean和一些应用程序bean的应用程序。 用户login,比方说,Firefox。 会话创buildID =“A”; 然后他打开Chrome并使用相同的凭据重新login。 会话创buildID =“B”。 当会话“B”被创build时,我希望能够销毁会话“A”。 怎么做? 也。 当Firefox中的用户做任何事情时,我希望能够显示一个popup窗口或某种通知,说“你已经注销,因为你已经从其他地方login”。 我有一个sessionListener跟踪创build和销毁的会话。 问题是,我可以将HTTPSession对象保存在应用程序范围的bean中,并在检测到用户已经login两次时将其销毁。 但有些事情告诉我,这是错误的,不会工作。 JSF是否跟踪服务器端某个地方的会话? 如何通过标识符访问它们? 如果没有,当用户login两次时如何退出用户的首次login?

使用.jsp或.xhtml或.jsf扩展名创buildJSF页面有什么区别?

我看到一些使用.jsp扩展名创buildJSF页面的例子,其他使用.xhtml扩展名创build它们的例子,其他例子select.jsf 。 我只想知道在使用JSF页面时上述扩展之间有什么不同,以及如何select合适的扩展?

实体名称必须紧跟在实体引用中的“&”之后

我想在我的* .xhtml页面上放置一个packman游戏(我使用jsf 2和primefaces 3.5) 然而, 当我在xhtml中“翻译”html页面时,在这个脚本中出现错误: <script> var el = document.getElementById("pacman"); if (Modernizr.canvas && Modernizr.localstorage && Modernizr.audio && (Modernizr.audio.ogg || Modernizr.audio.mp3)) { window.setTimeout(function () { PACMAN.init(el, "./"); }, 0); } else { el.innerHTML = "Sorry, needs a decent browser<br /><small>" + "(firefox 3.6+, Chrome 4+, Opera 10+ and Safari 4+)</small>"; } </script> 在线: if (Modernizr.canvas […]

在JAR中打包Facelets文件(模板,包含,合成)

是否有可能将JSF2 Facelets文件与通用内容放入JAR中,以便在<ui:composition template> , <ui:include src> , <cc:implementation>等其他web应用程序中使用它。 如果是的话,我怎么能做到这一点? 是否需要一些额外的configuration?

从外部文件系统或数据库获取Facelets模板/文件

我能够成功地得到这个与我的应用程序中的模板一起工作: <ui:decorate template="/WEB-INF/templates/mytemplate.xhtml"> 我也可以将模板移动到JAR的 /META-INF/templates/mytemplate.xhtml并使其工作: <ui:decorate template="/templates/mytemplate.xhtml"> 我实际上想把这个文件放在文件系统(或者数据库)上。 我怎样才能做到这一点? 我发现很多与com.sun.facelets.impl.DefaultResourceResolver有关的东西,但我不认为这实际上是覆盖模板的服务。 它不是试图parsing一个URL,它只是试图在类path上获取文件。

为什么Facelets比JSF2.0更适合作为视图定义语言呢?

我从JSF2.0开始看到,Facelets视图定义语言是首选的视图定义语言,而不是被遗弃的JSP。 我想了解为什么Facelets比JSF2.0更适合作为视图定义语言? 我知道JSP也有一些模板行为,这是采用Facelets的主要动力。 PS:我已经通过这个post在stackoverflow,但我不认为它回答了我的问题。 因此张贴这是一个单独的问题。

我需要将哪些XHTML文件放在/ WEB-INF中,哪些不是?

在这些问题之后: https://stackoverflow.com/questions/8589315/jsf2-dynamic-template dynamicui:包含 我如何检索@WindowScoped上的对象? 如何检查存储在@WindowScoped中的对象是否正确存储? ICE Faces和在WindowScoped中创build一个bean的错误 我写了所有的解决JSF2框架“愚蠢”的问题,我不能直接链接到存储在/WEB-INF子文件夹中的页面的事实。 之后,我做了一些谷歌和Stackoverflow的研究,我会知道一件事情:我如何构build一个JSF2的Web项目? 特别是,我究竟在哪里放XHTML页?

如何在CSSselect器中使用带有冒号“:”的JSF生成的HTML元素ID?

我一直在用一个简单的使用JSF的Java EE项目。 <h:form id="phoneForm"> <h:dataTable id="phoneTable"> </h:dataTable> </h:form> 我试图通过#phoneTable { … }设置CSS,但它不起作用。 在检查客户端的HTML源代码后,看起来JSF生成的HTML表格以id="phoneForm:phoneTable"forms获取客户端ID。 我无法通过#phoneForm:phoneTable { … }来应用CSS,因为冒号表示#phoneForm:phoneTable { … }的开始并导致错误。 我怎样才能在CSSselect器中使用它?