Struts2返回json

<span style="font-size:18px;">package com.insuper.action;

import com.insuper.service.UserService;
import com.insuper.vo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

/**
 * 注冊用户
 *
 * @author seawind
 *
 */
public class UserAction extends ActionSupport implements ModelDriven<User> {
	private String re;
	private User user = new User();

	@Override
	public User getModel() {
		return user;
	}

	public String getRe() {
		return re;
	}

	public void setRe(String re) {
		this.re = re;
	}

	public String register() throws Exception {
		System.out.println("注冊用户 action 运行... ");
		userService.addUser(user);
		this.re="用户注冊成功";
		return SUCCESS;

	}

	private UserService userService;

	public void setUserService(UserService userService) {
		this.userService = userService;
	}

}
</span>

这是以用户注冊为例。须要注意的是一定要有返回值。不能用void方法。否则无法进入Struts拦截器

<span style="font-size:18px;">	<package name="default" namespace="/" extends="json-default">
		<!-- 方式一,自己主动向Action 装配 Service -->
		<action name="register" class="com.insuper.action.UserAction"
			method="register">
			<result type="json">
				<param name="root">re</param>
			</result>
		</action></span>

这里须要注意extends="json-default"

<result type="json">
	<!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有相应的getter方法 -->
	<!-- 默认将会序列全部有返回值的getter方法的值,而不管该方法是否有相应属性 -->
	<param name="root">dataMap</param>
	<!-- 指定是否序列化空的属性 -->
	<param name="excludeNullProperties">true</param>
	<!-- 这里指定将序列化re中的那些属性 -->
	<param name="includeProperties">userList.*</param>
	<!-- 这里指定将要从re中排除那些属性,这些排除的属性将不被序列化,一般不与上边的參数配置同一时候出现 -->
	<param name="excludeProperties">SUCCESS</param>
</result>
须要注意的是,假设用JSON插件把返回结果定为JSON。

而JSON的原理是在ACTION中的get方法都会序列化,

所曾经面是get的方法仅仅要没指定不序列化,都会运行。

假设该方法一定要命名为get*(比方实现了什么接口),

那么能够在该方法的前面加注解声明该方法不做序列化。

注解的方式为:@JSON(serialize=false)

除此之外。JSON凝视还支持例如以下几个域:

serialize:设置是否序列化该属性

deserialize:设置是否反序列化该属性。

format:设置用于格式化输出、解析日期表单域的格式。

比如"yyyy-MM-dd‘T‘HH:mm:ss"。

//使用凝视语法来改变该属性序列化后的属性名

@JSON(name="newName")

public String getName()

{

return this.name;

}

须要引入 import com.googlecode.jsonplugin.annotations.JSON;

@JSON(serialize=false)

public User getUser() {

return this.User;

}

@JSON(format="yyyy-MM-dd")

public Date getStartDate() {

return this.startDate;

}
时间: 2024-10-12 09:06:39

Struts2返回json的相关文章

Struts2返回JSON对象的方法总结

一.为什么struts2要返回json       如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持.但是,在开发工作中,对功能的升级是基于既定架构是很常见的情况.本人碰到需要用开发基于Struts2的HTTP+JSON返回类型接口就是基于既定框架结构下进行的. struts2和json的集成,是为了适应在action 处理完后需要向对端输

(转)Struts2返回JSON对象的方法总结

转自:http://kingxss.iteye.com/blog/1622455 如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持.但是,在开发工作中,对功能的升级是基于既定架构是很常见的情况.本人碰到需要用开发基于Struts2的HTTP+JSON返回类型接口就是基于既定框架结构下进行的. Struts2返回JSON有两种方式:1.使用S

转载:深入了解Struts2返回JSON数据的原理及具体应用范例

早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身, 渐渐的也淡忘了此事.直到前两天有同事在工作中遇到这个问题,来找我询问,我又细细地给他讲了一遍之后,才觉得无论如何要抽一个小时的时间来写这篇文章, 从头到尾将Struts2与JSON的关系说清楚. 其实网络中,关于这个问题的答案已是海量,我当初也是从这海量的答案中吸收精华,才将“Struts2返回JSON数据”这个问题搞清楚的.但 是这些海量的答案,有一个共同

struts2返回json格式的数据

描述:当前端使用ajax发送请求到action时,如果需要返回json格式的数据,如对象集合.具体做法如下: 前端代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"

struts2返回json数据类型

项目需要jar包 项目结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati

Struts2返回Json数据(使用Struts2插件)

这篇我将介绍如何使用Struts2的struts2-json-plugin.jar插件返回JSON数据. 一.其中主要步骤有: 1.将struts2-json-plugin.jar插件拷贝到项目的"/WEB-INF/lib"文件夹下: 2.编写Action类文件: 3.在struts.xml文件中配置这个Action,这个Action所在的"<package.../>"必须继承”json-default“,Action的Result类型为json,即ty

Struts2返回json数据xml中配置

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <!-- 登陆配置

struts2返回json数据

<!-- ajax注册 --> <package name="jsonstruts2" namespace="/json" extends="json-default"> <action name="jsonResult" method="{1}" class="com.ProfitAction"> <param name="id&qu

JavaEE-stuts2返回json数据简单实现

CSDN的ASK频道,看到关于struts2返回json数据的问题,整理了下struts2的简单demo,完成JSON数据的展示. Action定义 public class ValidateAction extends ActionSupport { private static final long serialVersionUID = 1L; private String username; public Map<String, Object> result = new HashMap&