如何使用结果类型创建struts操作为" json"

时间:2014-07-02 09:15:17

标签: java jquery ajax json struts2

我创建了以下操作

@Action(value = "searchPersonByName", results = {@Result(type = "json",
    params = {"status", "204" }) })
public List<Person> searchPerson() {
    return new ArrayList<Person>();
}

使用此操作部署struts应用程序会引发以下错误

  

引起:结果类型[json],它在类[class com.mk.gk.actions.PersonAction]的Result注释中定义,或由文件扩展名确定,或者是PackageConfig的默认结果类型无法找到为Struts / XWork包定义的结果类型的动作[com.mk.gk.actions#/#/] - [未知位置]

我想在jquery.ajax中调用此操作,其中dataType为“json”。怎么做到这一点?如何将此操作类型设为 json

2 个答案:

答案 0 :(得分:1)

Struts2 now supports通过注释指定父包。因此,也可以通过向您的班级添加注释@ParentPackage("json-default")来解决此错误,假设您使用的是Convention Plugin,这是现在常见的做法。

答案 1 :(得分:0)

  1. 包括 Struts2-Convention-Plugin
  2. 包括 Struts2-JSON-Plugin
  3. 在您struts.xml中,让您的包延长json-default
  4. 同时查看 Struts2-jQuery-Plugin ,轻松执行jQuery内容。