我有以下情况:
<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。
非常感谢。
答案 0 :(得分:3)
我假设您的控制台中没有出现错误吗?如果是这种情况,我建议您在表单中添加<p:messages autoUpdate="true" />
以查看是否存在某些验证错误或其他内容。
答案 1 :(得分:0)
如果我使用
<h:commandButton id="loginButton" value="Login" ajax="false"
action="#{login.loginAction}" />
调用loginAction方法。
我将使用h:commandButton而不是p:commandButton。