Questions tagged «jsf-2»

JavaServer Faces(JSF)是通常用于创建Web应用程序的模型视图呈现器框架。与JSF 1.x相比,版本2.x向前迈出了重要的一步,大大扩展了标准的组件和组件库集。




13
Java Server Faces 2.0的主要缺点是什么?
昨天,尽管我目前是一名快乐的ASP.NET MVC / jQuery开发人员,但我看到了有关Java Server Faces 2.0的演示,该演示看上去确实令人印象深刻。我最喜欢JSF的地方是大量支持AJAX的UI组件,这些组件似乎使开发速度比使用ASP.NET MVC快得多,尤其是在AJAX繁重的网站上。集成测试也看起来非常不错。 由于演示文稿仅强调了JSF的优点,因此我也想听听另一面的信息。 所以我的问题是: Java Server Faces 2.0的主要缺点是什么? 是什么让JSF开发人员考虑使用ASP.NET MVC而不是JSF?
234 asp.net-mvc  jsf  jsf-2 

1
JSF资源库有什么功能,应如何使用?
在JSF <h:outputStylesheet>,<h:outputScript>和<h:graphicImage>组件具有library属性。这是什么,应该如何使用?网上有很多示例,它们使用以下示例,它们具有常见的内容/文件类型css,js并且img(或image)作为库名,具体取决于所使用的标签: <h:outputStylesheet library="css" name="style.css" /> <h:outputScript library="js" name="script.js" /> <h:graphicImage library="img" name="logo.png" /> 有什么用?library这些示例中的值似乎只是重复标记名称已经表示的内容。对于<h:outputStylesheet>它来说,它基于已经很明显的标签名称,它表示一个“ CSS库”。与以下相同的方式有什么区别? <h:outputStylesheet name="css/style.css" /> <h:outputScript name="js/script.js" /> <h:graphicImage name="img/logo.png" /> 同样,生成的HTML输出也有些不同。给定的上下文路径/contextname和FacesServletURL模式的映射*.xhtml,前者生成以下HTML,并将库名称作为请求参数: <link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/style.css.xhtml?ln=css" /> <script type="text/javascript" src="/contextname/javax.faces.resource/script.js.xhtml?ln=js"></script> <img src="/contextname/javax.faces.resource/logo.png.xhtml?ln=img" alt="" /> 后者使用URI路径中的库名称生成以下HTML: <link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/style.css.xhtml" /> <script type="text/javascript" src="/contextname/javax.faces.resource/js/script.js.xhtml"></script> <img src="/contextname/javax.faces.resource/img/logo.png.xhtml" alt="" …
228 jsf  jsf-2  resources 


1
javax.faces.application.ViewExpiredException:无法还原视图
我编写了具有容器管理的安全性的简单应用程序。问题是当我登录并打开另一个要注销的页面时,然后回到第一页,然后单击任何链接等或刷新页面,我得到了此异常。我想这是正常的(或者可能不是:)),因为我注销了,会话被破坏了。我应该怎么做才能将用户重定向到例如index.xhtml或login.xhtml并使他免于看到该错误页面/消息? 换句话说,注销后如何自动将其他页面重定向到索引/登录页面? 这里是: javax.faces.application.ViewExpiredException: viewId:/index.xhtml - View /index.xhtml could not be restored. at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:212) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at filter.HttpHttpsFilter.doFilter(HttpHttpsFilter.java:66) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) …

3
JSF2 Facelets中的JSTL有意义吗?
我想有条件地输出一些Facelets代码。 为此,JSTL标记似乎可以正常工作: <c:if test="${lpc.verbose}"> ... </c:if> 但是,我不确定这是否是最佳做法?还有另一种方法可以实现我的目标吗?
163 jsf  jsf-2  jstl  facelets 


5
如何找出要进行Ajax更新/渲染的组件的客户端ID?找不到从“ bar”引用的表达式为“ foo”的组件
下面的代码是从PrimeFaces的DataGrid + DataTable的教程启发和放入<p:tab>一个的<p:tabView>居住在<p:layoutUnit>的<p:layout>。这是代码的内部(从p:tab组件开始);外部是微不足道的。 <p:tabView id="tabs"> <p:tab id="search" title="Search"> <h:form id="insTable"> <p:dataTable id="table" var="lndInstrument" value="#{instrumentBean.instruments}"> <p:column> <p:commandLink id="select" update="insTable:display" oncomplete="dlg.show()"> <f:setPropertyActionListener value="#{lndInstrument}" target="#{instrumentBean.selectedInstrument}" /> <h:outputText value="#{lndInstrument.name}" /> </p:commandLink> </p:column> </p:dataTable> <p:dialog id="dlg" modal="true" widgetVar="dlg"> <h:panelGrid id="display"> <h:outputText value="Name:" /> <h:outputText value="#{instrumentBean.selectedInstrument.name}" /> </h:panelGrid> </p:dialog> </h:form> </p:tab> </p:tabView> 当我单击时<p:commandLink>,代码停止工作并显示以下消息: 找不到从“ tabs:insTable:select”引用的表达式为“ insTable:display”的组件。 …
140 ajax  jsf  jsf-2  primefaces  clientid 

5
从JSF 1.2迁移到JSF 2.0
我正在使用一个用JSF 1.2编写的相当大的应用程序。JSF 1.2大约已有6年历史了。我需要升级到JSF 2.0。这将有多痛苦?我注意到自定义标签中的某些属性已更改等。
136 java  jsf  migration  jsf-2 

2
什么时候应该使用h:outputLink而不是h:commandLink?
什么时候应该使用<h:outputLink>而不是<h:commandLink>? 我了解会commandLink产生HTTP讯息;我猜这outputLink将生成HTTP获取。就是说,我阅读的大多数JSF教程资料都是commandLink(几乎?)专门使用的。 上下文:我正在实施一个小小的演示项目,该项目显示了指向用户页面的标题链接,就像Stack Overflow的... ...而且我不确定commandLink(也许?faces-redirect=true用于书签功能)还是outputLink正确的选择。
129 jsf  jsf-2 

5
是支持bean(@ManagedBean)还是CDI Bean(@Named)?
我刚刚开始阅读Core JavaServer Faces,第三版。他们这样说(强调我的意思): 对于可以在JSF页面中使用的bean,有两种单独的机制(CDI bean和JSF管理的bean)是历史上的意外。我们建议您使用CDI bean,除非您的应用程序必须在诸如Tomcat之类的普通servlet运行程序上运行。 为什么?他们没有提供任何理由。我一直@ManagedBean在GlassFish 3上运行的原型应用程序中使用过所有bean,但我还没有真正注意到与此相关的任何问题。我并不介意从@ManagedBean那里迁移到那里@Named,但是我想知道为什么我应该打扰。
109 jsf  jakarta-ee  jsf-2  cdi 

4
如何在f:selectItem(s)中使用枚举值
我想创建一个selectOneMenu下拉列表,以便可以选择问题的状态。考虑到枚举顺序更改且列表很大时会发生什么情况,是否可以使f:selectItem更灵活?我可以做得更好吗?是否可以自动“选择”问题所具有的项目? 枚举类 public enum Status { SUBMITTED, REJECTED, APPROVED } 问题实体 @Enumerated(EnumType.STRING) private Status status; JSF <div class="field"> <h:outputLabel for="questionStatus" value="Status" /> <h:selectOneMenu id="questionStatus" value="#{bean.question.status}" > <f:selectItem itemLabel="Submitted" itemValue="0" /> <f:selectItem itemLabel="Rejected" itemValue="1" /> <f:selectItem itemLabel="Approved" itemValue="2" /> </h:selectOneMenu> <hr /> </div>

1
何时使用<ui:include>,标记文件,复合组件和/或自定义组件?
我最近开始将JSF 2.0与Facelets结合使用,并且对新的复合组件感到困惑,因为他们知道&lt;ui:include&gt;Facelets 1.x提供的现有模板技术和其他模板技术。 这些方法之间有什么区别?在功能上,它们似乎提供了几乎相同的功能:&lt;ui:param&gt;vs &lt;cc:attribute&gt;,&lt;ui:insert&gt;+ &lt;ui:define&gt;vs标签文件,现有模板的重用。如果是复合组件,除了语法和清晰的接口规范外,还有什么?性能会有所不同吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.