Tag: facelets

如何使用本地JavaScript在HTML DOM事件上调用JSF托pipebean?

我需要在HTML DOM load事件中使用ajax执行一个JSF托pipebean操作方法,类似于jQuery的$(document).ready(function() { $.ajax(…) }) 。 我只能在这个项目中使用由JSF生成的JavaScript。 有没有办法在本地JSF中做到这一点? 我可以使用哪个事件或者哪个JSF ajax函数可以使用? 我正在使用JSF 2.0,Facelets和PrimeFaces。

如何创builddynamic的JSF表单域

我发现了类似这样的一些类似的问题,但是这样做有太多的方法可以使我更加困惑。 我们正在读取我们正在阅读的XML文件。 这个XML包含了一些需要显示的表单域的信息。 所以我创build了这个定制的DynamicField.java ,它拥有我们需要的所有信息: public class DynamicField { private String label; // label of the field private String fieldKey; // some key to identify the field private String fieldValue; // the value of field private String type; // can be input,radio,selectbox etc // Getters + setters. } 所以我们有一个List<DynamicField> 。 我想遍历这个列表并填充表单字段,所以它看起来像这样: <h:dataTable value="#{dynamicFields}" var="field"> <my:someCustomComponent […]

如何发送表单input值并调用JSF bean中的方法

我正在构build一个JSF应用程序。 我定义了GUI,并使用selectselect语句来查询数据库。 现在我必须做insert语句,但我不知道如何读取像<h:inputText>这样的JSFinput组件的value ,并将它发送给执行插入的bean。 应该通过faces-config.xml来映射<h:inputText>值,所以我可以在我的Java代码中使用它。

为什么我需要在另一个组件中使用rendered =“#{some}”嵌套一个组件,当我想要更新它时?

所以我发现了几个答案,我已经find了足够的解决我所遇到的问题。 但是,即使如此,我也很好奇为了解这个问题。 让我以一个例子来说明: 我有一个facelet .xhtml页面,看起来像这样(缩短)。 <h:form id="resultForm"> <h:panelGroup class="search_form" layout="block"> <h:inputText id="lastname" value="#{search.lastname}"/> <h:commandButton action="#{search.find}" value="Find"> <f:ajax execute="lastname" render="resultDisplay"/> </h:commandButton> </h:panelGroup> <h:dataTable value="#{search.searchResults}" var="results" id="resultDisplay" rendered="#{!empty search.searchResults}"> <h:column> #{results.field} </h:column> </h:dataTable> </h:form> 现在,为了简洁起见,我不会发布所有的支持bean代码,但是我有这样的一些东西: public void find() { searchResults = setResults(true); } 其中searchResults是一个ArrayList<Objects> 。 search后,它不是空 – 在多个testing中检查(可以为空,但不是在我正在做的testing)。 现在。 这是行不通的。 但是,如果我把dataTableembedded另一个,让我们说panelGroup ,它将工作。 <h:panelGroup id="resultDisplay"> <h:dataTable value="#{search.searchResults}" var="results" […]

JSF Facelets:有时我会看到URL是.jsf,有时是.xhtml。 为什么?

一直试图学习JSF,有时我看到的URL是.jsf ,有时是.xhtml 。 有人可以填补我的知识吗? 当我使用Facelet创buildJSF时,文件扩展名为.xhtml ,那么.jsf URL扩展名是从哪里来的?

如何通过导航菜单ajax刷新dynamic包含内容? (JSF SPA)

我只是在学习JSF 2,因为我在这么短的时间内学到了很多东西。 我的问题是关于如何实现所有我的JSF 2页面的通用布局,只有页面的内容部分刷新,而不是整个页面,只要点击不同面板的链接/菜单。 我正在使用Facelets方法,除了每次单击面板中的链接(例如,左侧面板中的菜单项)之外,整个页面都会刷新,所以我只需要它。 我正在寻找的是一种只刷新我的网页内容部分的方法。 为了说明下面是我的目标页面布局。 没有发布我的代码,因为我不知道如果Facelets可以做到这一点。 除了Facelets之外,还有其他方法更适合我的需求吗?

JSF使用plain / raw XHTML / XML / EL源返回空白/未分析的页面,而不是呈现的HTML输出

我有一些像下面的Facelets文件。 的WebContent | – index.xhtml | – register.xhtml | – 模板 | | –userForm.xhtml | `–banner.xhtml : 这两个页面都使用来自/templates目录的/templates 。 我的/index.xhtml在浏览器中打开。 我得到了生成的HTML输出。 我在/index.xhtml文件中链接到/register.xhtml文件。 但是,我的/register.xhtml没有得到parsing,并返回为纯XHTML /原始XML而不是其生成的HTML输出。 当我在浏览器中右键单击页面并执行查看页面源代码时 ,我仍然可以看到XHTML源代码,而不是生成的HTML输出。 它看起来像模板没有得到应用。 但是,当我在浏览器的地址栏中打开/register.xhtml /faces/register.xhtml时,它显示正确。 这是如何造成的,我该如何解决?

如何在Facelets模板中引用CSS / JS / image资源?

我已经完成了关于Facelets模板的教程 。 现在我试着创build一个与模板不在同一个目录中的页面。 我遇到了页面样式的问题,因为样式被相对path引用,如下所示: <link rel="stylesheet" href="style_resource_path.css" /> 我可以使用以/开头的绝对引用: <link rel="stylesheet" href="/project_root_path/style_resource_path.css" /> 但是当我将应用程序移到不同的上下文时,这会给我带来麻烦。 所以我想知道在Facelets中引用CSS(以及JS和图像)资源的最佳方式是什么?

何时使用<ui:include>,标记文件,复合组件和/或自定义组件?

最近,我开始在Facelets中使用JSF 2.0,并对新的复合组件感到困惑,这些组件知道现有的<ui:include>和Facelets 1.x提供的其他模板技术。 这些方法有什么区别? 在function上他们似乎提供了相同的: <ui:param> vs <cc:attribute> , <ui:insert> + <ui:define> vs标记文件,重复使用现有的模板。 在复合组件的情况下,除了语法和界面清晰之外,还有什么? 性能可能不同吗?

如何使用JSF 2.0 Facelets在XHTML中包含另一个XHTML?

在XHTML页面中包含另一个XHTML页面的最正确的方法是什么? 我一直在尝试不同的方式,没有一个在工作。