Olá. Eu estou estudando Java Server Faces, e estou tendo um problema ao obter os valores informados nos formulários na minha ManagedBean.
Após submeter os dados, na ManagedBean os valores dos campos estão nulos, e não sei por que...
Assim é minha JSF:
<h:form id="loginForm">
<table>
<tr>
<td><h:outputLabel value="Usuário: " for="usuario"/></td>
<td>
<h:inputText id="usuario" maxlength="20" value="#{loginBean.usuario}"/>
</td>
</tr>
<tr>
<td><h:outputLabel value="Senha: " for="senha"/></td>
<td>
<h:inputSecret id="senha" maxlength="10" value="#{loginBean.senha}"/>
</td>
</tr>
<tr>
<td colspan="2">
<h:commandButton type="submit" id="cmdConfirmar" value="OK" action="#{loginBean.acessar}"/>
<h:commandButton type="reset" id="cmdLimpar" value="Limpar"/>
</td>
</tr>
</table>
</h:form>
Assim é minha LoginBean:
public class LoginBean {
private String usuario;
private String senha;
public LoginBean() {
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String acessar() {
try {
if (usuario != null && !usuario.equals("") && senha != null && !senha.equals("")) {
Usuario user = UsuarioDAO.buscaUsuario(usuario, senha);
if (user != null) {
return "success";
} else {
return "fail";
}
} else {
return "fail";
}
} catch (Exception e) {
e.printStackTrace();
return "fail";
}
}
}
<managed-bean>
<managed-bean-name>loginBean</managed-bean-name>
<managed-bean-class>beans.LoginBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
No método acessar(), os atributos "usuario" e "senha" estão nulos. O que está faltando?
Obrigado pela ajuda!!
Felipe