【问题标题】:Popup not rendering in JSF弹出窗口未在 JSF 中呈现
【发布时间】:2013-11-07 08:26:21
【问题描述】:

我在一个 xhtml 页面中有 a4j 命令按钮,在另一个页面中有弹出面板。我想在第一页打开命令按钮上的弹出窗口。 命令按钮

auth.xhtml

<a4j:commandButton id="Add" value="Add New" type="submit"
   action="#{controller.add}"
   render=":addPopupForm:addPopupOp">
     <a4j:param value="true" assignTo="#{controller.ind}" ></a4j:param>
</a4j:commandButton>

addPopup.xhtml

<h:form id="addPopupForm">
    <a4j:outputPanel id="addPopupOp" ajaxRendered="true">
       <rich:popupPanel id="addPopup" domElementAttachment="parent" show="true"
          rendered="true" height="600" width="1000" >
            Row is added
       </rich:popupPanel>
   </rich:outputPanel>
</h:form>

【问题讨论】:

    标签: jsf richfaces


    【解决方案1】:

    我不是 Richfaces 用户,但在一般 JSF 中,您不能重新渲染一开始就没有渲染的元素。

    所以在你的情况下你应该指向addPopupForm,像这样:

     <a4j:commandButton id="Add" value="Add New" type="submit"
       action="#{controller.add}"
       render=":addPopupForm" >
    

    或者用一些将始终呈现的包装器包装a4j:outputPanel

    另外,看看这个:Can you update an h:outputLabel from a p:ajax listener?

    【讨论】:

    • 一个文件中的组件可以访问其他文件中的组件吗?
    • 是的,它可以从其他文件访问组件,只要其中一个包含在另一个文件中使用ui:include
    • 好的,我会尝试 ui:include 然后因为我的弹出窗口在其他文件中
    • 好吧,由于我不是richfaces专家,我帮不上什么忙,你可以找一些教程,或者如何在primefaces上完成..
    • 嗨,当我尝试从这个 url linl 展示弹出面板示例时,即使这不起作用。可能是什么问题?
    【解决方案2】:

    仅仅渲染面板并不意味着显示它。您必须将弹出“显示”属性附加到属性:

    show="#{bean.showPopup}"
    

    在action方法中设置showPopup boolean (action="#{controller.add}") 然后做render="addPopupForm"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多