我将我的应用程序从Richfaces移植到Primefaces并遇到问题
如果<pe:remoteCommand>
中的属性内部是id(视图中不存在),则页面呈现将失败。
有没有办法让这些ID可选?
这是我的stacktrace
javax.servlet.ServletException:找不到带表达式的组件 “menu”从“j_idt1251:j_idt1254”引用。 javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:149) org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77) org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) com.mediamid.war.shared.filter.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:214) com.mediamid.war.shared.filter.WindowsSSOControlFilter.doFilter(WindowsSSOControlFilter.java:40)
它与Richfaces完美搭配
有什么想法吗?
答案 0 :(得分:2)
提出以下解决方案。也许它对某些人有用
PrimeFaces提供简洁的功能 - 使用JQuery选择器引用组件。 选择器应该在update =&#34; @(选择器)&#34;内部提供。 如果找不到元素,页面将能够呈现,这正是所需的行为。
<pe:remoteCommand name="JSFdeleteCartItem"
update="@(#cartMenu,#cartMenu1,#cart,#messages)"
actionListener="#{cart.removeItem()}"
status="ajaxLoading"
limitToList="true">
<pe:assignableParam name="param1" assignTo="#{cart.indexDeleteCartItem}"/>
</pe:remoteCommand>