Fondamentalement, dans input.xhtml il y a une forme qui prend un nom d'utilisateur et un mot de passe et s'ils sont égaux à une valeur spécifique (peu importe la valeur) le programme devrait imprimer un message dans le navigateur, mais cela n'arrive pas. Pour m'assurer du problème j'ai ajouté 2 lignes de "System.out.println (...)" où j'imprime la valeur de la propriété et ce que j'ai découvert est que les propriétés sont toujours nulles même après que je soumette. Donc, après avoir cliqué sur Envoyer dans la console est écrit "null null". Toute aide est appréciée!Après la soumission du formulaire, en utilisant java ee et jsf 2,2, mes propriétés du bean backing sont toujours nulles
Ceci est la classe UserBean (support haricot)
package bean;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class UserBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;
private String password;
private String output_message;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String go(){
output_message = "";
if(name == null && password == null){
output_message += "Both fields cannot be empty!";
}else if(name == "name" && password == "pass"){
output_message += "Success!";
}else{
output_message += "Data is wrong!";
}
System.out.println(name);
System.out.println(password);
return output_message;
}
public String getOutput_message() {
return output_message;
}
public void setOutput_message(String output_message) {
this.output_message = output_message;
}
public String ret(String r){
return r;
}
}
Ceci est le fichier de input.xhtml, qui contient le formulaire qui transmettent les données à la fève. (Ignorer l'URL pour template.xhtml, il est juste un modèle de parent qui a un en-tête et un pied de page autre que le milieu du contenu qui input.xhtml définit)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:cc="http://java.sun.com/jsf/composite/myComponent">
<ui:composition template="/WEB-INF/templates/template.xhtml">
<ui:define name="content">
<style type="text/css">
#form1{
position: absolute;
top: 20%;
left:40%;
border: 1px solid black;
background-color: orange;
}
td{
padding-top:10px;
}
input[type="text"]{
backgorund-color:blue;
}
</style>
<form id="form1" method="post">
<table columns="2">
<tr>
<td><span>Emri:</span></td>
<td><input type="text" id="emri" value="#{userBean.name}"/></td>
</tr>
<tr>
<td><span>Password:</span></td>
<td><input type="password" id="pass" value="#{userBean.password}"/></td>
</tr>
<tr>
<td colspan="2" align="center"><button type="submit" onclick="#{userBean.go()}">Send</button></td>
</tr>
</table>
</form>
<p>#{user.output_message}</p>
</ui:define>
</ui:composition>
</html>
Vérifiez ma réponse ci-dessous. Et merci beaucoup pour votre aide! @The Bitman – AldiT
Oh oui. Je n'ai pas compris. Vous devez utiliser des composants d'entrée/sortie de l'espace de noms h: si vous voulez traiter, valider, etc. avec JSF. –