primefaces remoteCommand update属性中的可选id

时间:2014-08-22 14:06:04

标签: jsf primefaces

我将我的应用程序从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完美搭配

有什么想法吗?

1 个答案:

答案 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>