其实struts2通过action返回json挺简单的,但是就是老要忘,所以索性写在博客上。好的,开始。
首先是引入必须的jar包:
struts2-json-plugin-2.3.24.jar
然后我们再写一个简单的action
package com.mz.action;import com.mz.entity.User;import com.opensymphony.xwork2.ActionSupport;public class JsonAction extends ActionSupport{private User user;public String execute() {user = new User();user.setId(123);user.setUsername("Irasel");return SUCCESS;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}}就是一个很简单的action,给user对象赋值然后传回然后返回success。
User类里面有两个属性,一个id一个username,以及对应的get和set方法。
主要是配置配置文件:
<!-- 配置一个返回json字符串的action --><package name="resultJson" namespace="/" extends="json-default"><action name="resultJson" class="com.mz.action.JsonAction"><result name="success" type="json"><!--root是ognl表达式的一部分不能更换 --><param name="root">user</param></result></action></package>这里的root是ognl表达式的一个属性,不能换!不能换!不能换!(重要的事情说三遍)
启动tomcat,访问:http://localhost:8080/spring-struts/resultJson(这里的路径可能不一样)
如图所示:
这样子就算成功在前台返回json对象了,ok!