读取primefaces通知栏中的输入

时间:2012-12-13 15:13:02

标签: jsf jsf-2 primefaces

我正在尝试读取放在p:notificationBar中的inputText,但我只得到null作为它的输入。 jsf代码是:

    <h:form>
    <p:notificationBar position="top" 
                       effect="slide" 
                       styleClass="top" 
                       id="notificationPanel"
                       widgetVar="bar" >
            <h3>Subscribe</h3>
            Add your email adress here
            <h:panelGrid columns="3" cellspacing="20">
                Email:
                <p:inputText value="#{detailsBean.email}" />
                <p:commandButton value="Submit" action="#{detailsBean.submitEmail}" onclick="bar.hide()"/>
            </h:panelGrid>
        </p:notificationBar>  
    </h:form>

1 个答案:

答案 0 :(得分:2)

<p:notificationBar>的HTML表示将重新定位到HTML DOM树中的所需位置,并且在您的特定情况下将不再以HTML格式结束。

您需要将<h:form>移到<p:notificationBar>

<p:notificationBar position="top" 
                   effect="slide" 
                   styleClass="top" 
                   id="notificationPanel"
                   widgetVar="bar" >
    <h:form>
        <h3>Subscribe</h3>
        Add your email adress here
        <h:panelGrid columns="3" cellspacing="20">
            Email:
            <p:inputText value="#{detailsBean.email}" />
            <p:commandButton value="Submit" action="#{detailsBean.submitEmail}" onclick="bar.hide()"/>
        </h:panelGrid>
    </h:form>
</p:notificationBar>