`

struts2返回json数据的方法二 使用jackson

    博客分类:
  • java
阅读更多
public class BaseAction extends ActionSupport {

    private static final long serialVersionUID = 4260238422873356334L;

    /**
     * 返回json数据
     * @param object
     * @return
     */
    public String jsonOut(Object object){
        ObjectMapper objectMapper=new ObjectMapper();
        try {
            String jsonString=objectMapper.writeValueAsString(object);
            HttpServletResponse response=ServletActionContext.getResponse();
            response.setContentType("text/json;charset=UTF8");
            response.getWriter().print(jsonString);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
 
public class TestAction extends BaseAction {

    private String userName;

    /**
     * @return the userName
     */
    public String getUserName() {
        return userName;
    }

    /**
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public String login() {
        Map jsonMap = new HashMap();
        if ("admin".equals(userName)) {
            jsonMap.put("msg", "登陆成功!!!");
        } else {
            jsonMap.put("msg", "登陆失败!!!");
        }

        return jsonOut(jsonMap);
    }

}
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <package name="struts" extends="struts-default" namespace="/">
   <action name="testAction" class="com.acca.action.TestAction" method="login">
   </action>
  </package>
</struts>  
 
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;">
<title>Insert title here</title>
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function doSubmit() {
    $.ajax({
    type: "post",
    data:{"userName":"admin"},
    url: "testAction",
    dataType: "json",
    cache: false,
    success: function(data) {
      $.each(data, function(key, val) {
        if (key == "msg" && val != ''){
          $("#mes").html(val);
            return false;
        }
      });
    }
  });
  }
</script>
</head>
<body>
<div id="mes"></div>
<input type="button" value="提交" onclick="doSubmit()">
</body>
</html>
分享到:
评论
1 楼 k3108001263 2012-11-24  

public void londIdAndName(){
List<Object[]> list = null;
//从数据库取数据初始化list
Map<String, Object> map = new HashMap<String, Object>();
			for (int i = 0; i < list.size(); i++) {
				Object[] o = list.get(i);				
				map.put((String) o[0], (String) o[1]);
			}
			JSONObject jsonObject = JSONObject.fromObject(map);			
			sendResult(jsonObject.toString());

}



public void sendResult(String result) {
 		try {
 			HttpServletResponse response = (HttpServletResponse) ActionContext
 					.getContext().get(
 							org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
 			ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");  
 		        ServletActionContext.getResponse().setCharacterEncoding("utf-8");  
 			PrintWriter printWriter = response.getWriter();	
 			printWriter.write(result);
 			printWriter.flush();
 			printWriter.close();
 		} catch (IOException e) {
 			e.printStackTrace();
 		}		
 	}

相关推荐

    struts2返回json数据的方法一 使用json-default

    本篇文章将详细讲解如何在Struts2中使用“json-default”拦截器来返回JSON数据。 首先,我们需要理解Struts2的拦截器(Interceptor)机制。拦截器是Struts2框架的核心组件之一,它们在Action执行前后执行特定的任务...

    struts2返回json

    在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...

    struts2-json-plugin-2.3.8.jar

    在Struts2中,你可以通过在Action类的方法上添加特定的注解,如`@Result(type = "json")`,来指示该方法应该返回JSON格式的数据。 Struts2 JSON Plugin 2.3.8版本包含了以下关键特性: 1. 自动处理Action结果:当...

    struts2-json

    Struts2支持JSON的处理,使得开发人员能够轻松地将Java对象转换为JSON格式,然后发送到客户端,或者将JSON数据解析成Java对象。下面我们将深入探讨Struts2集成JSON的相关知识点。 1. **Struts2 JSON插件**: ...

    Struts2+Json+Android简单实现

    通过配置struts.xml,设定这个方法返回JSON类型的结果。 2. **客户端**:在Android应用中,使用HttpURLConnection或者第三方库如Volley、OkHttp发起HTTP请求到服务端的Struts2 Action。收到响应后,使用Gson或...

    struts2所需的包和Struts2_json所需包

    在实际开发中,为了测试Struts2返回JSON格式的数据,可以创建一个简单的Action,设置返回值,并在前端使用AJAX请求来接收这个JSON数据。例如,使用jQuery的$.ajax()方法进行请求,然后通过JSON.parse()解析返回的...

    struts2+json的使用

    5. 前端处理:前端通过AJAX请求Struts2的Action,然后使用JavaScript(如jQuery)解析返回的JSON数据,并更新页面内容。 三、注意事项 1. 数据安全:确保返回的JSON数据不包含敏感信息,防止XSS(跨站脚本攻击)和...

    AJAX和struts2传递JSON数组

    这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...

    struts2和json的jar包

    Struts2和JSON是两种在Java Web开发中广泛使用的技术。Struts2是一个基于MVC(Model-View-Controller)架构的开源框架,用于构建高效、可扩展且易于维护的企业级Web应用程序。JSON(JavaScript Object Notation)则...

    Android开发HTTP传输数据到Struts2生成Json数据案例

    为了接收JSON数据,需要在Action类的方法上使用`@Action("your-action")`注解,并设置接受的参数类型为`Map, Object&gt;`或自定义的Java对象,Struts2会自动将JSON数据解析到这些参数中。 ```java public class Your...

    struts2框架json传递后台数据到echarts

    4. **前端接收与Echarts展示**:在前端,使用JavaScript或者jQuery来发起Ajax请求,获取Struts2 Action返回的JSON数据。Echarts提供了丰富的API,可以方便地将接收到的JSON数据解析并绘制到图表中。例如: ```...

    Struts2+JSON完美是用

    这里的`result type="json"`指示Struts2以JSON格式返回数据,`includeProperties`参数指定了要包含在JSON响应中的对象属性。 - **Gson或Jackson库**:为了将Java对象转换成JSON,你需要引入如Gson或Jackson这样的库...

    json+struts2的jar

    7. **JQuery/AJAX调用**:在前端,可以使用JQuery的AJAX方法向服务器发送请求,获取Struts2 Action返回的JSON数据,然后动态更新DOM元素。 8. **安全性考虑**:在使用JSON和Struts2交互时,需要注意防止JSON ...

    Android+struts2+JSON方式的手机开发

    2. **JSON序列化和反序列化**:使用Gson或Jackson库将Java对象转换为JSON字符串,以及将接收到的JSON数据转换回Java对象。 3. **Struts2配置**:在struts.xml文件中配置Action,指定输入输出的类型,以及如何将结果...

    struts2+android+Json

    例如,你可能需要在Action类的方法中返回一个包含业务数据的Java对象,然后在struts.xml配置文件中定义一个JSON结果类型,使得该方法的执行结果能够以JSON格式返回给客户端。 **Android开发** Android是一个开源的...

    struts2 ajax json

    通过以上步骤,你可以在Struts2应用中顺利地使用Ajax和JSON,实现动态更新和高效的数据交换。记住,良好的前端设计和合理的后端架构相结合,才能充分利用Ajax和JSON的优势,提升应用的性能和用户体验。在实际项目中...

    struts2annotation json

    - Struts2的JSON插件提供了一种简单的方式来序列化和反序列化Java对象到JSON格式,无需额外的库如Gson或Jackson。 - 要启用JSON插件,首先需要在struts.xml配置文件中引入依赖,或者在pom.xml中添加相应的Maven...

    struts2中json依赖包

    logging-1.1.1.jar/ezmorph-1.0.6.jar/freemarker-2.3.22.jar/javassist-3.11.0.GA.jar/json-lib-2.4-jdk15.jar/log4j-api-2.2.jar/log4j-core-2.2.jar/ognl-3.0.6.jar/struts2-core-2.3.24.jar/xwork-core-2.3.24....

Global site tag (gtag.js) - Google Analytics