首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >struts 2+ json

struts 2+ json
EN

Stack Overflow用户
提问于 2012-07-25 17:12:03
回答 1查看 3.6K关注 0票数 1

我想知道Struts2核心jar是否必须与Struts2-Json-Plugin jar同步。因为当我从Action类中的方法返回'SUCCESS‘时,就会发生异常。我在我的xml中将结果类型声明为'json‘。

代码语言:javascript
复制
<result-type name="json" class="org.apache.struts2.json.JSONResult"/>

我得到的例外是

代码语言:javascript
复制
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;
at org.apache.struts2.json.JSONResult.execute(JSONResult.java:166)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)

我使用struts2-core-2.0.11.jar,我的struts.xml是

代码语言:javascript
复制
<action name="editEmployee" class="myaction.AddEmployeeAction" method="getValue">
      <result name="success" type="json" />
</action>

我的行动是

代码语言:javascript
复制
public class AddEmployeeAction extends ActionSupport implements ParameterAware {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private EmployeeDaoImp empdao;
private Map parameters;

public EmployeeDaoImp getEmpdao() {
    return empdao;
}

public void setEmpdao(EmployeeDaoImp empdao) {
    this.empdao = empdao;
}

public String getValue() throws Exception
{
    //JSONArray jsonArr = new JSONArray();
    JSONObject jsonObject = new JSONObject();
    String query = getParameterValue("selChar");
    List<String> names = empdao.getData(query);
    /*for (String name : names) {
        jsonArr.add(name);
    }*/
    jsonObject.put("namesList", names);
    return SUCCESS;
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 23:11:51

S2插件版本必须与S2版本匹配;插件使用struts2-core提供的机制。

虽然插件可以与不同版本的核心一起工作,但它永远不会像那样进行测试,所以除非你提供了自己的测试工具,否则就没有办法知道如果你随机开始混合和匹配会是什么行为。你不应该混杂在一起。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11646372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档