我再次遇到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;
}
}
答案 0 :(得分:0)
检查UserFormActionBean的包声明,它应该是:
package users.action;
(虽然我建议使用其他软件包名称,因为此名称不符合描述软件包名称应以您组织的某个顶级域名开头的一般Java naming convention。) p>