Полосы не видит мой ActionBean - PullRequest
0 голосов
/ 09 марта 2011

У меня опять небольшие проблемы с полосами, на этот раз с тегом ссылки. В основном я вызываю бин действия из jsp следующим образом:

<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;
}

}

1 Ответ

0 голосов
/ 29 марта 2011

Проверьте объявление пакета для UserFormActionBean, оно должно быть:

package users.action;

(Хотя я бы порекомендовал использовать другое имя пакета, так как это имя не соответствует общему соглашению об именах Java , которое описывает, что имя пакета должно начинаться с одного из доменных имен верхнего уровня вашей организации ).

...