Struts2 JSON плагин с аннотациями - PullRequest
       17

Struts2 JSON плагин с аннотациями

3 голосов
/ 17 сентября 2010

У меня есть класс действий Struts2, настроенный с помощью аннотаций.Все "нормальные" методы, аннотированные @Action, работают нормально.

Однако мне нужно добавить метод в действие, которое возвращает JSON.

Вот сокращенная версиямой класс (дао с проводкой Spring):

@Namespace("featureClass")
// define success and input actions for class here
public class FeatureClassAction extends ActionSupport {

    FeatureClassDao featureClassDao;

    @Autowired
    public setFeatureClassDao(FeatureClassDeao featureClassDao) {
        this.featureClassDao = featureClassDao;
    }

    List<FeatureClass> featureClasses;

    // snip normal actions

    @Action("/featureClassesJSON")
    @JSON
    public String getFeatureClassesJSON() throws Exception {

        featureClasses = featureClassDao.getAll();
        return SUCCESS;
    }
}

Кто-нибудь может помочь?Если мне нужно перейти по маршруту struts.xml, это означает, что в него будут перенесены все остальные мои действия (которые работают нормально).

1 Ответ

7 голосов
/ 19 сентября 2010

Я подумала, что поделюсь ответом, поскольку любой, кто столкнулся бы с такой же проблемой, скорее всего, тоже столкнется с тишиной.

Я создал два действия: FeatureClassAction и FeatureClassJsonAction.FeatureClassAction был аннотирован так:

@ParentPackage("struts-default")
@Namespace("/featureClass")
public class FeatureClassAction extends ActionSupport {

FeatureClassJsonAction аннотирован так:

@ParentPackage("json-default")
@Namespace("/featureClass")
public class FeatureClassJsonAction extends ActionSupport {

Метод в действии JSON был аннотирован так:

@Action(value="featureClassesJson", results = {
    @Result(name="success", type="json")
})

public String getFeatureClassesJSON() throws Exception {

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...