Hallo,
ich habe nun begonnen mich mit JSF zu beschäftigen. Ich wollte damit anfangen eine Seite für einen Login und eine für eine Registrierung zu erstellen. Das sieht momentan so aus:
login.xhtml
register.xhtml
Leider funktioniert der Link mit der id "registerLink" nicht. Es passiert nichts. Wundert mich aber auch nicht, da der Server nicht weiß was er mit outcome="register" anfangen soll. Ich habe gelsen, dass ich jetzt eine navigation-rule anlegen muss, welche beschreibt für welchen outcome Wert welche Seite aufgerufen werden soll. Wenn ich das richtig verstehe, soll ich das in der faces-config.xml eintragen, allerdings hat mir NetBeans keine faces-config.xml erzeugt.
Wie genau muss die Datei aussehen und wo sollte die sein?
registerBean und loginBean existieren noch nicht. Das ist ein problem dem ich mich später noch stellen werde. Jetzt soll erstmal nur der Link funktionieren
Gruß hyperion
ich habe nun begonnen mich mit JSF zu beschäftigen. Ich wollte damit anfangen eine Seite für einen Login und eine für eine Registrierung zu erstellen. Das sieht momentan so aus:
login.xhtml
Java:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html">
<h:head>
<title>Login</title>
</h:head>
<h:body>
<h:outputText value="Willkommen" />
<h:panelGrid id="loginPanelGrid" columns="2">
<h:outputText value="Loginname:" />
<h:inputText id="loginName" value="#{loginBean.loginName}" />
<h:outputText value="Passwort:" />
<h:inputSecret id ="password" value="#{loginBean.password}" />
</h:panelGrid>
<h:commandButton id="login" action="#{loginBean.validate}" value="Login" />
<br />
<h:link id="registerLink" value="Registrieren" outcome="register" />
</h:body>
</html>
register.xhtml
Java:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html">
<h:head>
<title>Registrierung</title>
</h:head>
<h:body>
<h:panelGrid id="registerPanelGrid" columns="2">
<h:outputText value="Loginname:" />
<h:inputText id="loginName" value="#{registerBean.loginName}" />
<h:outputText value="Passwort:" />
<h:inputSecret id ="password" value="#{registerBean.password}" />
<h:outputText value="Name:" />
<h:inputText id="name" value="#{registerBean.name}" />
<h:outputText value="Vorname:" />
<h:inputText id="firstName" value="#{registerBean.firstName}" />
Weitere Felder...
</h:panelGrid>
</h:body>
</html>
Leider funktioniert der Link mit der id "registerLink" nicht. Es passiert nichts. Wundert mich aber auch nicht, da der Server nicht weiß was er mit outcome="register" anfangen soll. Ich habe gelsen, dass ich jetzt eine navigation-rule anlegen muss, welche beschreibt für welchen outcome Wert welche Seite aufgerufen werden soll. Wenn ich das richtig verstehe, soll ich das in der faces-config.xml eintragen, allerdings hat mir NetBeans keine faces-config.xml erzeugt.
Wie genau muss die Datei aussehen und wo sollte die sein?
registerBean und loginBean existieren noch nicht. Das ist ein problem dem ich mich später noch stellen werde. Jetzt soll erstmal nur der Link funktionieren
Gruß hyperion