Ok .... forgive me now, but this is getting confusing. Where does
result come into this picture? Were you expecting actionBean to be an
instance of a different class? You aren't offering a lot to go on here.
--David
Piotr Kiraga wrote:
> The problem is that there could be a class that has no property with
> name result. In another case there could be another class (bean) that
> has such property (than of course it works fine, but at first case
> Tomcat throws exception).
>
Maybe.... but let's keep debugging simple. The expression language is
expecting a class conforming to the JavaBeans standard. What does the
class "com.some.packages.action.LoginActionBean" look like?
Here is LoginActionBean class code (like I sad before, there is no
result field, so getter and seter either):
################################################
package com.some.packages.action;
import net.sourceforge.stripes.action.ActionBean;
import net.sourceforge.stripes.action.ActionBeanContext;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.DontValidate;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.validation.LocalizableError;
import net.sourceforge.stripes.validation.Validate;
import com.some.packages.util.Global;
import com.some.packages.util.SessionManager;
import com.some.packages.vo.UserVO;
/**
* @author Piotr Kiraga
* @since 2007-02-15 12:13:06
*/
public class LoginActionBean implements ActionBean {
private ActionBeanContext context;
private String forwardSuccess = "/calculator.jsp";
private String forwardFail = "/index.jsp";
@Validate(required=true, mask="^.{4,8}$") private String userName;
@Validate(required=true, mask="^.{1,8}$") private String password;
/* execute
*************************************************************************/
/*
* Handler method.
* Handles default action.
*/
@DefaultHandler
@DontValidate
public Resolution init() {
return new ForwardResolution(forwardFail);
}
/*
* Handler method.
* Handles login action.
*/
public Resolution login() {
if ( SessionManager.authorize(getContext(), getUserName(),
getPassword()) ) {
return new ForwardResolution(forwardSuccess);
}
else {
this.getContext().getValidationErrors().addGlobalError(new
LocalizableError("login.error.invalidUserOrPass", userName));
return init();
}
}
/* validation
**********************************************************************/
/* getters and setters
*************************************************************/
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public ActionBeanContext getContext() {
return context;
}
public void setContext(ActionBeanContext context) {
this.context = context;
}
}
################################################
Regards,
--
David Smith
Network Operations Supervisor
Department of Entomology
Cornell University
2132 Comstock Hall
Ithaca, NY 14853
Phone: (607) 255-9571
Fax: (607) 255-0940
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]