0

我又遇到了 Stripes 的一些小问题,这次是链接标签 基本上我从 jsp 中调用了一个动作 bean,如下所示:

<s:link beanclass="users.action.UserFormActionBean">...</s:link>

我收到的例外是:

The value supplied for the 'beanclass' attribute does not represent a valid ActionBean.

这是不正确的,因为该类实现了 ActionBean(通过一个名为 BaseActionBean 的类助手)并且它包含一个 @DefaultHandler。

我真的不知道为什么它不起作用,下面我将发布两个类

public class UserFormActionBean extends BaseActionBean{

private User user;

private static final String FORM="/WEB-INF/jsp/form.jsp";

private static final String LIST="/WEB-INF/jsp/list.jsp";

@DefaultHandler
public Resolution goToForm(){

    return new ForwardResolution(FORM);
}

/**
 * A getter for the user
 * @return
 */
public User getUser(){

    return this.user;
}

/**
 *save the new user into db 
 */
public Resolution save(User user){

    DaoUtil.save(user);

    return new ForwardResolution(LIST);
}

}

帮手:

public class BaseActionBean implements ActionBean{

private ActionBeanContext ctx;

public void setContext(ActionBeanContext ctx){

    this.ctx=ctx;
}

public ActionBeanContext getContext(){

    return this.ctx;
}

}

4

1 回答 1

0

检查您的 UserFormActionBean 包声明,它应该是:

package users.action;

(尽管我建议使用另一个包名,因为此名称不符合一般Java 命名约定,即包名应以组织的顶级域名之一开头)。

于 2011-03-29T09:06:08.087 回答