Struts2是一个基于Java的web应用程序框架,除了可以返回网页,还可以返回XML、JSON等各种格式的数据。下面是关于Struts2返回json格式数据代码实例的完整攻略。
步骤1:在pom.xml文件中添加依赖项
在pom.xml文件中添加下面这个依赖项:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.10</version>
</dependency>
这个依赖项是使用Jackson库将Java对象转换为JSON格式的必需项。
步骤2:编写Action类
在Struts2中,Action类是控制器类,它可以处理浏览器请求。我们可以在Action类中编写处理json格式返回数据的代码。
package com.example.action;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
public class JsonAction extends ActionSupport {
private Map<String, String> data;
public Map<String, String> getData() {
return data;
}
public String execute() {
data = new HashMap<>();
data.put("name", "Tom");
data.put("age", "20");
return SUCCESS;
}
}
在这个Action类中,我们创建了一个Map类型的data属性,用于存储我们要返回的数据。在execute()方法中,我们向data中添加了两个键值对:name和age。最后我们返回了一个SUCCESS字符串表示Action处理成功。
步骤3:配置struts.xml文件
在struts.xml文件中配置Action和结果类型。
<struts>
<package name="json" extends="json-default">
<action name="json" class="com.example.action.JsonAction">
<result name="success" type="json">
<param name="root">data</param>
</result>
</action>
</package>
</struts>
这个配置文件中,我们定义了一个名为json的Action。在这个Action中,我们指定了返回结果类型为json,并使用data作为root参数,这样Struts2就会将data属性中的内容转换成JSON格式的数据返回。
步骤4:测试
在浏览器中输入http://localhost:8080/yourapp/json.action,你会看到浏览器中返回的JSON格式的数据。它应该长得像这样:
{"name":"Tom","age":"20"}
至此,我们已经成功地使用Struts2返回JSON格式的数据了。
示例2:
除了可以将数据封装为一个Map类型的对象,我们还可以封装为JavaBean类型的对象。
下面是JavaBean类的代码:
package com.example.domain;
public class User {
private String name;
private int age;
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
下面是返回JavaBean类型数据的Action类:
package com.example.action;
import com.example.domain.User;
import com.opensymphony.xwork2.ActionSupport;
public class JsonBeanAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public String execute() {
user = new User("Tom", 20);
return SUCCESS;
}
}
下面是struts.xml文件中的配置:
<struts>
<package name="json" extends="json-default">
<action name="jsonBean" class="com.example.action.JsonBeanAction">
<result name="success" type="json">
<param name="root">user</param>
</result>
</action>
</package>
</struts>
最后,我们只需要在浏览器中输入http://localhost:8080/yourapp/jsonBean.action,就可以看到如下JSON格式数据的输出:
{"name":"Tom","age":20}
这样,我们就成功返回了JavaBean类型的JSON格式数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2返回json格式数据代码实例 - Python技术站