【问题标题】:primefaces remoteCommand optional ids inside of update attribute更新属性内的primefaces remoteCommand可选ID
【发布时间】:2014-08-22 14:06:04
【问题描述】:

我正在将我的应用程序从 Richfaces 移植到 Primefaces 并遇到了问题

如果<pe:remoteCommand> 的属性内部是id,视图中不存在该id,页面渲染将失败。 有没有办法让这些 ID 成为可选的? 这是我的堆栈跟踪

javax.servlet.ServletException:找不到带有表达式的组件 “菜单”引用自“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.tukey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) org.tukey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) org.tukey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) org.tukey.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 上运行得非常好

有什么想法吗?

【问题讨论】:

  • 只需从update中删除ID?!
  • 我有很多使用 save remoteCommand 的视图,因此我不想因为缺少一个 id 而在每个页面上重新创建此功能
  • 所以你有一个带有远程命令的父视图,它要求每个包含视图都包含所需的 ID?我认为不是很好的风格。

标签: jsf primefaces


【解决方案1】:

想出了以下解决方案。也许它可能对某人有用

PrimeFaces 提供简洁的功能 - 使用 JQuery 选择器引用组件。 应在 update="@(selector)" 内部提供选择器 如果没有找到元素,页面将能够呈现,这正是所需的行为。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多