在学习Struts时,想用注解返回json数据,注解如下
@Action(value="Login",results={
@Result(name="success",location="/jsp/index.jsp"),
@Result(name="testjson",type="json",params={"username","password"}),
@Result(name="error",location="/jsp/error.jsp")
})
结果用tomcat启动时报错了:
The Result type [json] which is defined in the Result annotation on the class
后来发现没有加入struts的json依赖包,所以在maven中加入:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.3.15</version>
</dependency>
注意这个包的版本一定要与struts2-core包版本一致,然后重新启动发现还是出现这个错误信息,经过检查代码后发现,需要加入这个注解
@ParentPackage("json-default")
重新启动后,成功运行。
总结:The Result type [json] which is defined in the Result annotation on the class这个错误目前发现了三个原因:
1.没有加入 struts2-json-plugin包
2. struts2-json-plugin与struts2-core
3.没有加这个注解@ParentPackage("json-default")