2

我正在开发一个带有 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>

支持豆:

@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 中声明一个用户对象,我使用对象用户将我的表单与我的 bean 映射但是当我用我的表单映射到 bean 时出现错误

4

2 回答 2

4

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

于 2013-02-13T09:13:51.277 回答
0

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

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

没有括号。

于 2013-12-30T10:45:05.723 回答