Bonjour,
Si je ne me prempe pas, il me semble qu'il y'a un probléme avec ton bouton;
<p><h:commandButton value="Inscription" action="register" /></p>
A mon avis, la valeur action d'un commanButton est
<p><h:commandButton value="Inscription" action="#{TonAction.MethodeInsertion}" /></p>
.
Pour cela, il faut avoir une classe java qui comportera ta méthode MethodeInsertion.
ça reste un avis. je te conseille de voir ce lien http://adiguba.developpez.com/tutoriels/j2ee/jsp/el/
Bon courage avec JSF.

Envoyé par
minooo
bonjour je suis débuté avec jsf et je veux bien lancer ma premiere jsf avec formulaire et vérifier la saisie mail
voila le code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
public class UserBean {
String email;
public UserBean() {
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void validateEmail(FacesContext context, UIComponent toValidate,
Object value) throws ValidatorException {
String eMail = (String) value;
if (eMail.indexOf("@") < 0) {
FacesMessage message = new FacesMessage("Adresse Email invalide !");
throw new ValidatorException(message);
}
}
public String ajoutUtilisateurConfirme() {
// Cette méthode pourrait faire un appel en base de données vie DAO ou couche service
System.out.println("Ajout d'un nouvel utilisateur");
return "success";
}
} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<%@ page contentType="text/html"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<html>
<head>
<title>Un formulaire d'inscription JSF</title>
</head>
<body>
<h:form>
<h4>
Formulaire JSF d'inscription au <a href="http://www.objis.com/formation-java/club-objis.html">Club Objis</a>.
</h4>
<table>
</tr>
<tr>
<td>Email:</td>
<td>
<h:inputText value="#{UserBean.email}" required="true"
validator="#{UserBean.validateEmail}" id="email"/>
<h:message for="email"/>
</td>
</tr>
<tr>
</tr>
</table>
<p><h:commandButton value="Inscription" action="register" /></p>
</h:form>
<hr>
<a href="http://www.objis.com"><img src="images/logo-objis.png" border=0></a>
</body>
</html>
</f:view> |
message d'erreur
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
javax.faces.FacesException: javax.faces.application.ViewExpiredException
at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:490)
at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:378)
at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:213)
at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlResponseStateManager.java:160)
at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:400)
at org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
at org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:278)
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:123)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.application.ViewExpiredException
at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:483)
... 25 more
08-mai-2011 3:37:07 org.apache.myfaces.renderkit.ErrorPageWriter handleThrowable
GRAVE: An exception occurred
javax.faces.application.ViewExpiredException: /register.jspNo saved view state could be found for the view identifier: /register.jsp
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source) |
sur la page web message
1 2 3 4 5 6
|
An Error Occurred:
/register.jspNo saved view state could be found for the view identifier: /register.jsp
Caused by:
javax.faces.application.ViewExpiredException - /register.jspNo saved view state could be found for the view identifier: /register.jsp |
Partager