未调用命令按钮操作

时间:2012-07-26 18:32:12

标签: jsf-2 primefaces

我有以下情况:

<h:form>
<h:panelGrid columns="2" cellpadding="5">
    <p:commandButton id="loginButton" value="Login" ajax="false"
                        action="#{login.loginAction}" />
</h:panelGrid>
</h:form>

当我单击该按钮时,将执行来自我的bean的方法loginAction()。

如果我有:

<h:form>

    <h:panelGrid columns="2" cellpadding="5">

        <h:outputLabel for="username" value="#{labels.UserName}" />
        <p:inputText value="#{login.username}" id="username"
                                required="true" />

        <p:commandButton id="loginButton" value="Login" ajax="false"
                        action="#{login.loginAction}" />
    </h:panelGrid>
</h:form>

在这种情况下,当我按下登录按钮时,方法loginAction()没有被调用,我不明白为什么。调用用户名的setter,但是loginAction no。

我正在使用JSF 2.0,Primefaces 3.3。

非常感谢。

2 个答案:

答案 0 :(得分:3)

我假设您的控制台中没有出现错误吗?如果是这种情况,我建议您在表单中添加<p:messages autoUpdate="true" />以查看是否存在某些验证错误或其他内容。

答案 1 :(得分:0)

如果我使用

<h:commandButton id="loginButton" value="Login" ajax="false"
                        action="#{login.loginAction}" />

调用loginAction方法。

我将使用h:commandButton而不是p:commandButton。

相关问题