Hi I can't figure what I've missed into my code : here is my login.jsp <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <html> <body> <center> <img border="0" src="images/soft-intro.gif" width="368" height="321"> <html:form action="/login"> <table width="45%" border="1" style="border-collapse: collapse"> <tr> <td><bean:message key='app.userName'/></td> <td align="center"><html:text property="userName" /> </td> </tr> <tr> <td><bean:message key='app.userPassword'/></td> <td align="center"><html:password property="userPassword" /></td> </tr> <tr> <td colspan="2" align="center"><html:submit/> </td> </tr> </table> <html:errors /> </html:form> </center> </body> </html> My login form : // Created by Xslt generator for Eclipse. // XSL : not found (java.io.FileNotFoundException: (Le chemin d'accès spécifié est introuvable)) // Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xsl package soft.ibmss.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * @author alexj * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. * * LoginForm.java created by EasyStruts - XsltGen. * http://easystruts.sf.net * created on 02-10-2003 * * XDoclet definition: * @struts:form name="loginForm" */ public class LoginForm extends ActionForm { // --------------------------------------------------------- Instance Variables /** userPassword property */ private String userPassword; /** userName property */ private String userName; // --------------------------------------------------------- Methods /** * Method validate * @param ActionMapping mapping * @param HttpServletRequest request * @return ActionErrors */ public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors (); if ((userName == null) || (userName.length() == 0)) { errors.add("userName", new ActionError ("errors.userNameRequired")); } if (userPassword == null) { errors.add("userPassword", new ActionError ("errors.userPasswordRequired")); } return errors; } /** * Method reset * @param ActionMapping mapping * @param HttpServletRequest request */ public void reset(ActionMapping mapping, HttpServletRequest request) { userPassword = ""; userName = ""; } /** * Returns the userPassword. * @return String */ public String getUserPassword() { return userPassword; } /** * Set the userPassword. * @param userPassword The userPassword to set */ public void setUserPassword(String userPassword) { this.userPassword = userPassword; } /** * Returns the userName. * @return String */ public String getUserName() { return userName; } /** * Set the userName. * @param userName The userName to set */ public void setUserName(String userName) { this.userName = userName; } } my login action : // Created by Xslt generator for Eclipse. // XSL : not found (java.io.FileNotFoundException: (Le chemin d'accès spécifié est introuvable)) // Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xsl package soft.ibmss.struts.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; import java.sql.Connection; import javax.sql.DataSource; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import org.apache.struts.action.Action; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import soft.ibmss.struts.form.LoginForm; import org.apache.struts.Globals; import java.util.Vector; /** * @author alexj * XDoclet definition: * @struts:action path="/login" name="loginForm" input="/login.jsp" validate="true" * @struts:action-forward name="" path="" */ public class LoginAction extends Action { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** * Method execute * @param ActionMapping mapping * @param ActionForm form * @param HttpServletRequest request * @param HttpServletResponse response * @return ActionForward * @throws Exception */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String target = new String ("success"); LoginForm loginForm = (LoginForm) form; String userName = ((LoginForm) form).getUserName(); String userPassword = ((LoginForm) form).getUserPassword(); String user = getUser(userName, userPassword); if (user == null) { target = new String ("login"); ActionErrors errors = new ActionErrors (); errors.add(ActionErrors.GLOBAL_ERROR, new ActionError ( "errors.userNotFound", userName)); saveErrors(request, errors) ; } else { HttpSession session = request.getSession(); session.setAttribute("USER :", user); } return (mapping.findForward(target)); } /** * Method getUser * @param String userName * @param String userPassword * @return String */ public String getUser (String userName, String userPassword) { String user = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; DataSource dataSource = (DataSource) servlet.getServletContext().getAttribute(Globals.DATA_SOURCE_KEY); try { conn = dataSource.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT nom_utilisateur, mot_de_passe FROM personne WHERE nom_utilisateur = " + "'" + userName + "'" +"AND mot_de_passe = " + "'" + userPassword + "'"); if (rs.next ()) { user = rs.getString("nom_utilisateur"); } } catch (Exception ex) { } return user; } public Vector getGroupe (String userName, String userPassword) { String user = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; Vector result = new Vector (); DataSource dataSource = (DataSource) servlet.getServletContext().getAttribute(Globals.DATA_SOURCE_KEY); try { conn = dataSource.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("...."); while (rs.next ()) { result.add(new String (rs.getString("groupe.nom"))); } } catch (Exception ex) { System.out.println (ex.getMessage()); } finally { } return result; } private void closeAll (ResultSet rs, Connection conn, Statement stmt) { if (rs != null) { try { rs.close(); } catch (Exception ex) { System.out.println (ex.getMessage()); } } if (stmt != null) { try { stmt.close(); } catch (Exception ex) { System.out.println (ex.getMessage()); } } if (conn != null) { try { conn.close(); } catch (Exception ex) { System.out.println (ex.getMessage()); } } } } And finally my App.properties : # Resources for parameter 'soft.ibmss.struts.ApplicationResources' # Project P/ibmss app.userName=Nom d'utilisateur : app.userPassword=Mot de passe : app.personName=Nom app.personFirstName=Prénom app.personBirthDate=Date de naissance app.personInsurance=Assurance app.personInsuranceNb=No d'assuré app.personBankName=Banque app.personBankAccount=No de compte app.personAdress=Adresse app.personCity=City app.personNpa=Npa app.personGroup=Groupe errors.header=<h3>\ <font color='red'> Liste des erreurs</font></h3> <ul> errors.footer=</ul></hr> errors.userNameRequired=<font color='red'>Nom d'utilisateur requis</font> errors.userPasswordRequired=<font color='red'>Mot de passe requis</font> errors.userNotFound=<font color='red'>Nom d'utilisateur ou mot de passe non valide</font> Any idea ?? Thanks in advance. <-- Alexandre Jaquet -> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]