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]

Reply via email to