我不确定使用<f:view>和<f:subview>什么好处。 我注意到可以编写JSF页面而不使用它们。 使用这些标签有什么好处?
在我的JSF / Facelets应用程序中,下面是我的表单的一部分的简化版本: <h:form id="myform"> <h:inputSecret value="#{createNewPassword.newPassword1}" id="newPassword1" /> <h:message class="error" for="newPassword1" /> <h:inputSecret value="#{createNewPassword.newPassword2}" id="newPassword2" /> <h:message class="error" for="newPassword2" /> <h:commandButton value="Continue" action="#{createNewPassword.continueButton}" /> </h:form> 我希望能够根据continueButton()方法中发生的事件将错误分配给特定的h:message标记。 需要为newPassword和newPassword2显示不同的错误。 validation程序不会真正起作用,因为将传递结果(从数据库)的方法在continueButton()方法中运行,并且运行两次的代价太高。 我不能使用h:messages标记,因为页面有多个地方,我需要显示不同的错误信息。 当我尝试这个时,页面显示每个消息的重复。 我试过这个最好的猜测,但没有运气: public Navigation continueButton() { … expensiveMethod(); if(…) { FacesContext.getCurrentInstance().addMessage("newPassword", new FacesMessage("Error: Your password is NOT strong enough.")); } } 我错过了什么? 任何帮助,将不胜感激!
我使用JSF和facelets,我需要在JSF页面中获取请求和会话参数。 在JSP页面中,我得到了这样的参数: "${requestScope.paramName}"或"${sessionScope.paramName}" 。 但是,现在使用JSF后,只有bean,除了bean属性,你不能得到任何值。 注:会话属性我需要的是使用acegi安全自动填充,所以我不能得到任何访问他们。 那现在该怎么办? 每一个帮助将不胜感激。
我想在我的JSF页面中使用不间断的空格。 我知道,在纯HTML中,我可以使用 为此,这工作正常。 但是,当我把这些 在一个Facelets页面中,那么它的错误如下: 错误分析/page.xhtml:错误跟踪[line:42]实体“nbsp”被引用,但未声明。 这是如何造成的,我该如何解决?
如何在JSF页面中插入不间断的空格字符,就像我可以在HTML中使用 ? JSF中有这样的标签吗?
我在找出Facelets中的ELexpression式有点麻烦。 所以基本上我有: <h:outputText id="Prompt" value="Fobar" rendered="#{beanA.prompt == true && beanB.currentBase !=null}" /> 但我不断收到: 错误追踪[line:69]实体名称必须紧跟在实体引用中的“&”之后。
如何激活eclipse(3.5,WTP)内容可以帮助使用facelets的JSF(1.2)标签的.xhtml页面? 它在.jsp文件中工作,但不是xhtml。 我谷歌很多,并在很多地方(包括MyFaces维基)说 – “Eclipse不能使用XHTML和facelets” 由于这与.jsp文件一起工作,我假设可能有一些机制来激活内容帮助。 我开始研究一个已经有很大代码的项目,所以更改扩展不是一个选项。 额外的插件也是不可取的,但如果没有其他的工作可以接受。 (我在问这个问题,以validation是否有人没有find一个机智的解决方法这个问题 – 否则我知道这是不可能的)
我正在开发与JSF的Web应用程序。 我testing了它,因为我能够但不时抛出运行时exception。 那么,如何在每次引发exception时将用户redirect到特殊的错误页面(而不是在完整的tomcat日志中显示500错误)呢?
我有一个可以在不同的应用程序中使用的Facelet。 我不想复制它,但重复使用它。 我需要传递将作为参数pipe理视图的后台bean,因为某些逻辑可能会根据所在的应用程序而有所不同。 我不想使用复合组件,只是包含Facelet并指定哪个bean将pipe理视图。 我怎样才能做到这一点? 让我举个例子: <ui:composition template="/resources/common/templates/template.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:fn="http://java.sun.com/jsp/jstl/functions"> <ui:define name="content"> <!– somehow establish the backing bean that will manage formView.xhtml –> <!– f:set assign="ParameterBean" value="#{Bean}" / –> <ui:include src="formView.xhtml" /> </ui:define> </ui:composition> formView.xhtml: <ui:composition template="/resources/common/templates/template.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:fn="http://java.sun.com/jsp/jstl/functions"> <ui:define name="content"> <h:outputText value="#{ParameterBean.texto}" […]
如果我不能在@Named中使用@ManagedProperty注释,因为@ManagedProperty在CDI(?)中不起作用,那么如何将URL中的params传递给facelets客户端呢? 在我的代码中,我想通过“后退”和“前进”button将javax.mail.getMessageNumber()传递给details.xhtml。 我知道@Inject应该被使用,但是什么被注入和如何,请吗? 从glassfish日志中,id始终是0,这很奇怪。 即使点击“前进”,无论点击多less次,ID也不会超过1。 当然,这只是问题的症状。 期望的输出当然是前进到下一个消息。 也许把这个消息,或者至less是int,join会话中? 客户端如此: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" template="./template.xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core"> <ui:define name="top"> <h:form> <h:form> <h:outputLink id="link1" value="detail.xhtml"> <f:param name="id" value="#{detail.back()}" /> <h:outputText value="back" /> </h:outputLink> </h:form> </h:form> <h:form> <h:outputLink id="link1" value="detail.xhtml"> <f:param name="id" value="#{detail.forward()}" /> <h:outputText value="forward" /> […]