Primefaces Bean与表单绑定

时间:2013-02-12 18:58:26

标签: jsf primefaces

我正在开发一个带有primefaces的应用程序,我试图用我的用户Bean映射我的表单,但我不能,这是我的代码:

<h:form>
   <p:panelGrid columns="2">   
      <h:outputLabel for="usuario" value="Usuario: *"/>  
       <h:inputText id="usuario" binding="#{beanPrueba.user.usuario}"></h:inputText>

       <h:outputLabel for="contrasena" value="Contraseña: *" />  
       <h:inputSecret id="contrasena"></h:inputSecret>

     <f:facet name="footer"> 
     <p:commandButton icon="ui-icon-check" value="Entrar" ajax="false"
                 action="#{beanPrueba.prueba()}"/>
     </f:facet> 
   </p:panelGrid> 
 </h:form>

支持bean:

@ManagedBean(name = "beanPrueba")
@SessionScoped
public class BeanLogin {

private Usuario user = new Usuario();

public Usuario getUser() {
    return user;
}

public void setUser(Usuario user) {
    this.user = user;
}

 public void prueba()
{
    try {
        //my code
    }
    catch(Exception ex)
    {
        System.out.print(ex.getMessage());
    }

}

在我的bean中声明了User的一个对象,我正在使用对象用户将我的表单映射到我的bean但是在使用我的表单映射到bean时出现错误

2 个答案:

答案 0 :(得分:4)

您正在使用绑定属性完全错误。在您的情况下,您不应使用绑定,将其替换为value属性。如果要将整个组件与支持bean的某些binding属性绑定,并使用编程方式管理组件属性,则使用UIComponent。值提供组件值与某些支持bean属性之间的连接。

答案 1 :(得分:0)

我认为方法调用的语法也是错误的,它应该是

<p:commandButton icon="ui-icon-check" value="Entrar" ajax="false"
             action="#{beanPrueba.prueba}"/>

没有parenthetis。