Grundsätzlich gibt es in der input.xhtml ein Formular, das einen Benutzernamen und ein Passwort annimmt und einem bestimmten Wert entspricht (spielt keine Rolle) das Programm sollte eine Nachricht im Browser ausgeben, aber das passiert nicht. Um das Problem zu beheben, habe ich 2 Zeilen "System.out.println (...)" hinzugefügt, wo ich den Wert der Eigenschaft ausdrucke und was ich herausgefunden habe, ist, dass die Eigenschaften auch nach dem Senden noch null sind. Also nachdem ich auf send in der Konsole geklickt habe, steht "null null". Jede Hilfe wird geschätzt!Nach der Formularübergabe mit java ee und jsf 2,2 sind meine Backing-Bean-Eigenschaften immer noch null
Dies ist die Klasse UserBean (Backing bean)
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;
}
}
Dies ist die input.xhtml Datei, welche die Form enthält, die die Daten an die bean vorlegen wird. (Ignorieren Sie die URL template.xhtml, es ist nur ein Elternteil Vorlage, die eine Kopf- und eine Fußzeile andere als die Mitte-Gehalt hat, der definiert, input.xhtml)
<!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>
Überprüfen Sie meine Antwort unten. Und vielen Dank für Ihre Hilfe! @ The Bitman – AldiT
Oh ja. Ich habe es nicht verstanden. Sie sollten Eingabe/Ausgabe-Komponenten aus dem Namespace h: verwenden, wenn Sie mit JSF verarbeiten, validieren usw. wollen. –