I'm not sure where in your scenario the error was supposed to occur. I would suggest just right clicking on the blank page and see what the src holds. If you change the last line to:
ActionForward valForward = mapping.findForward(Constants.VALID); servlet.log("Forwarding to: " + valForward ); return valForward; That might help too. -Tim -----Original Message----- From: Caroline Jen [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 30, 2003 12:15 AM To: [EMAIL PROTECTED] Subject: No Error Message But A Blank Page Is Displayed. I am experimenting a basic application - logon. I got the first two screens working without problem. However, the third screen displays a blank page (no error message). I am having a very difficult time to figure out the problem; henceforth, seeking help. Here is the history of my application: 1. http://localhost:8080/LogonPractice/index.jsp (no problem and I clicked on "Sign in") 2. http://localhost:8080/LogonPractice/Logon.do;jsessionid=170B50E4D8E07EE36290 E98342E8BF9C (no problem and the screen asked for username and password. I filled out the information and clicked on "Submit") 3. http://localhost:8080/LogonPractice/LogonSubmit.do (displayed a blank page) The Tomcat log file shows the following (no error message at all): 2003-09-29 23:29:26 action: Processing a GET for /Logon 2003-09-29 23:29:26 action: Looking for Action instance for class org.apache.struts.actions.ForwardAction 2003-09-29 23:29:26 action: Double checking for Action instance already there 2003-09-29 23:29:26 action: Creating new Action instance 2003-09-29 23:29:35 action: Processing a POST for /LogonSubmit 2003-09-29 23:29:35 action: Looking for ActionForm bean under attribute 'logonForm' 2003-09-29 23:29:35 action: Creating new ActionForm instance of class 'org.apache.artimus.logon.LogonForm' 2003-09-29 23:29:35 action: Storing instance under attribute 'logonForm' in scope 'request' 2003-09-29 23:29:35 action: Populating bean properties from this request 2003-09-29 23:29:35 action: Validating input form properties 2003-09-29 23:29:35 action: No errors detected, accepting input 2003-09-29 23:29:35 action: Looking for Action instance for class org.apache.artimus.logon.LogonAction 2003-09-29 23:29:35 action: Double checking for Action instance already there 2003-09-29 23:29:35 action: Creating new Action instance in my struts-config.xml, I have: <action path="/LogonSubmit" type="org.apache.artimus.logon.LogonAction" name="logonForm" scope="request" validate="true" input="/signin/Logon.jsp"> <forward name="valid" path="/signin/Welcome.jsp"/> </action> and my LogonAction.java is: package org.apache.artimus.logon; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionServlet; import org.apache.artimus.lang.Constants; public final class LogonAction extends Action { public boolean isUserLogon(String username, String password) throws UserDirectoryException { return (UserDirectory.getInstance().isValidPassword(username,password)); // return true; } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Obtain username and password from web tier String username = ((LogonForm) form).getUsername(); String password = ((LogonForm) form).getPassword(); // Validate credentials with business tier boolean validated = false; try { validated = isUserLogon(username,password); } catch (UserDirectoryException ude) { // couldn't connect to user directory ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.logon.connect")); saveErrors(request,errors); // return to input page return (new ActionForward(mapping.getInput())); } if (!validated) { // credentials don't match ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.logon.invalid")); saveErrors(request,errors); // return to input page return (new ActionForward(mapping.getInput())); } // Save our logged-in user in the session, // because we use it again later. HttpSession session = request.getSession(); session.setAttribute(Constants.USER_KEY, form); // Log this event, if appropriate if (servlet.getDebug() >= Constants.DEBUG) { StringBuffer message = new StringBuffer("LogonAction: User '"); message.append(username); message.append("' logged on in session "); message.append(session.getId()); servlet.log(message.toString()); } // Return success return (mapping.findForward(Constants.VALID)); } } // End LogonAction The Constants.class is in the ApplicationRoot/WEB-INF/classes/org/apache/artimus/lang directory. And I have public static final String VALID = "valid"; My Welcome.jsp in the ApplicationRoot/signin folder looks like: <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <HTML> <HEAD> <TITLE>Welcome!</TITLE> <html:base/> </HEAD> <BODY> <logic:present name="user"> <H3>Welcome <bean:write name="user" property="username"/>!</H3> </logic:present> <logic:notPresent scope="session" name="user"> <H3>Welcome World!</H3> </logic:notPresent> <html:errors/> <UL> <LI><html:link forward="logon">Sign in</html:link></LI> <logic:present name="user"> <LI><html:link forward="logoff">Sign out</html:link></LI> </logic:present> </UL> <IMG src='struts-power.gif' alt='Powered by Struts'> </BODY> </HTML> __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]