简单p:p:对话框中的inputText没有在@Named Bean中设置值

时间:2016-03-04 05:52:48

标签: primefaces dialog

我正在使用primefaces 5.1并且在该对话框中仍然面临p:dialog和p:inputText的问题。

这是.xhtml内容

    <ui:define name="content">

    <f:metadata> <f:viewAction action="#{vLoginController.initSetup}" /> </f:metadata>

    <h:form id="vhome" prependId="false">

        <table>
        <tr>
            <td>
                <p:commandButton value="Place Order" action="#{vLoginController.placeOrderHomePage}"
                                    update="logindialog, signupdialog"/>
            </td>
        </tr>
        </table>

        <p:dialog id="logindialog" header="Login / Sign up" visible="#{vLoginController.loginDialog}"
                    draggable="false" resizable="false" modal="true">

            <p:messages autoUpdate="true"/>

            <h:panelGrid columns="2" cellpadding="5">
                <h:outputLabel for="inuserid" value="EmailID:" />
                <p:inputText id="inuserid" size="40" value="#{vLoginController.user.userId}" />

                <h:outputLabel for="inpassword" value="Password:" />
                <p:password id="inpassword" size="20" value="#{vLoginController.user.password}" />

                <f:facet name="footer">
                    <p:commandButton value="Login" process="@form" action="#{vLoginController.validateLogin}" update="logindialog"/>
                    <p:commandButton value="Sign up" action="#{vLoginController.showSignup}" update="logindialog, signupdialog"/>
                </f:facet>
            </h:panelGrid>

        </p:dialog>

        <p:dialog id="signupdialog" header="Sign up / Login" visible="#{vLoginController.signupDialog}"
                    draggable="false" resizable="false" modal="true">

                <p:outputLabel>Test</p:outputLabel>
        </p:dialog>

    </h:form>
</ui:define>

这是支持Bean

@Named
@SessionScoped

public class VLoginController extends BaseController implements Serializable {

private VUser user;

public VLoginController() {

}

public void placeOrderHomePage() {

    loginDialog = true;
    signupDialog = false;

}

public String validateLogin() {

    // Validate the screen fields
    FacesMessage msg = new FacesMessage();
    msg.setSeverity(FacesMessage.SEVERITY_ERROR);
    FacesContext context = FacesContext.getCurrentInstance();

    if (user.getUserId() == null || user.getPassword() == null) {

        msg.setSummary("Enter User ID and Password");
        context.addMessage("screenvalidation", msg);

        return null;
    }

}

}


public class VUser implements Serializable {

public VUser() {
}

private int userSeq;
private String userId;
private String userType;
private String password;
private String salt;
private int active;

}

用户对象中的userID和密码始终为null。已经浏览过各种论坛内容,并试图在它们周围添加输出面板等,但没有一个工作。保持代码与Primefaces展示的代码非常相似,但仍无效。

请解决任何问题..请注意,显示或隐藏对话框没有问题,这些逻辑工作正常。我只需要将用户在对话框字段中输入的值输入到bean ..

0 个答案:

没有答案