我正在开发一个带有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时出现错误
答案 0 :(得分:4)
您正在使用绑定属性完全错误。在您的情况下,您不应使用绑定,将其替换为value
属性。如果要将整个组件与支持bean的某些binding
属性绑定,并使用编程方式管理组件属性,则使用UIComponent
。值提供组件值与某些支持bean属性之间的连接。
答案 1 :(得分:0)
我认为方法调用的语法也是错误的,它应该是
<p:commandButton icon="ui-icon-check" value="Entrar" ajax="false"
action="#{beanPrueba.prueba}"/>
没有parenthetis。