【问题标题】:<p:dialog appendToBody="true" doesn't call Converter class<p:dialog appendToBody="true" 不调用 Converter 类
【发布时间】:2013-02-08 14:20:23
【问题描述】:

我将 Primefaces 3.4.2 与 JSF 2.0 一起使用

我在 JSF 页面的对话框弹出窗口中有以下内容。

<p:dialog header="Create New Request" style="font-weight:bold"
        widgetVar="newDialog" resizable="false" id="newDlg"
        showEffect="fade" hideEffect="fade" appendToBody="true"
        modal="true" position="center top" width="850" height="450">
        <p:panelGrid columns="2">
        <h:outputLabel value="Employee" for="employee" />
            <p:selectOneMenu id="employee" value="#{mymb.employee}" 
            converter="#{employeeConverter}">
         <f:selectItems value="#{mymb.employeeItems}" var="emp"
        itemLabel="#{emp.employeeName}" itemValue="#{emp.employeeNumber}"/>
       <p:ajax listener="#{mymb.loadDepartments}"  process="@this"/>
</p:selectOneMenu>

        </p:panelGrid>
        <p:separator />
            </p:dialog>

如果我使用appendToBody="true",那么selectOneMenu Converter 类不会被调用,但如果我使用appendToBody="false",那么Converter 类会被调用。

这可能是什么原因? appendToBody="false" 使我的弹出对话框无法使用,无法使用鼠标导航。

我该如何解决这个问题?

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    删除appendToBody 并将&lt;h:form/&gt; 放在你的对话框中(连同它的内容)。

    appendToBody="false" 的目的是确保您的对话框呈现在 HTML 输出的主体内(因此在主 &lt;h:form/&gt; 内)。

    如果没有 appendToBody="false" ,对话框可能最终会被附加到 &lt;body/&gt; 中标记的末尾,因此,其中的任何内容都不会被执行。

    &lt;h:form/&gt; 添加到您的对话框可确保即使它在&lt;body/&gt; 之外结束,它仍然能够提交到服务器

    【讨论】:

    • kolossus 谢谢,我之所以把
      放在对话框之外是因为我从一个按钮调用弹出对话框并更新我给出的那个按钮:formname:idofdialog。
    • 还有一点是我把
      放在了对话框里面,当我打开对话框时,弹出窗口显示和我使用 appendToBody="false" 时一样,即不能用鼠标使用组件,只能使用 tab 键我可以导航。
    • kolossus 如果我在对话框中使用 put
      并使用 appendToBody="true",则会调用 Converter 类。
    • kolossus 是的,我正在使用 appendToBody="true"。谢谢
    • @Polppan,这实际上是最好的,因为没有它,对话框可能会在正文中结束并导致生成嵌套的&lt;h:form/&gt;s。好电话
    猜你喜欢
    • 2013-09-07
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多