struts系列:返回json格式的响应

一、增加依赖库

// https://mvnrepository.com/artifact/org.apache.struts/struts2-json-plugin
compile group: ‘org.apache.struts‘, name: ‘struts2-json-plugin‘, version: ‘2.5.16‘

二、struts.xml配置示例

  <package name="default-json" extends="json-default">
        <action name="hello" class="com.sanro.strutsDemo.action.HelloAction"
            method="execute">
            <result name="success">/pages/hello.jsp</result>
            <result name="errLogin" type="json">
                <!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
                <param name="root">jsonData</param>
                <!-- 指定是否序列化空的属性 -->
                <param name="excludeNullProperties">true</param>
            </result>
        </action>
    </package>

三、action部分

    private String name;                   //GET请求参数
    private String password;               //GET请求参数
    private Map<String, String> jsonData;  //响应的数据结构(由strut-json插件自动转换成json格式)

    public String execute() {
        logger.debug("name=" + name);
        logger.debug("pwd=" + password);
        if ("lings".equals(name)) {
            return SUCCESS;
        } else {
            jsonData = new HashMap<String, String>();
            jsonData.put("user", name);
            jsonData.put("password", password);
            return "errLogin";
        }
    }

    //略去getter和setter方法

四、请求示例

http://localhost:8080/strutsDemo/hello?name=lings&password=123

五、响应示例

{"password":"123","user":"lings"}

原文地址:https://www.cnblogs.com/yoyotl/p/9325976.html

时间: 2024-10-12 04:48:14

struts系列:返回json格式的响应的相关文章

struts+json 返回json格式多了斜杠的问题

功能要求 C#做http请求 ,后台 struts+json 返回json格式数据, 大概代码是这样的 后台java public String jo ; public String getNumpsQty(){ //*** JSONObject obj=new JSONObject(); JSONArray ja =JSONArray.fromObject(onv); obj.put("count", row); obj.put("root", ja); setJ

使用getJSON()异步请求服务器返回json格式数据

我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx

指定webapi 返回 json 格式 ; GlobalConfiguration.Configuration.Formatters.Clear()

因为 Internet Explorer 和 Firefox 发送了不同的 Accept 头,所以 web API 在响应里就发送了不同的内容类型.   解决方法,在 Global.asax的 Application_Start() 加入下面的代码 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();     参考 :http://blog.miniasp.com/post/2

struts2返回json格式的数据

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

SpringMVC 统一返回JSON格式数据到前端

有时在给APP做接口功能的时候,都是返回JSON格式的数据,所以最好的只好在工程设置一个统一的数据返回方式 在SpringMVC 直接配置XML可以产生这种配置,比较简单 Spring的版本我用的是4.3.3的 <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter&qu

jquery ajax调用返回json格式数据处理

Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: false }).responseText; 返回json数组取条数用result.length <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"

ajax请求后台,返回json格式数据,模板!

添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="text/javascript">        //加载出部门的信息            function loadGroup(){                            $.ajax({                    type:"post",  

如何让Asp.net webAPI返回JSON格式数据

ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範本內),也非常適合用於各種跨平台的行動裝置上,如果你想開發 RESTful 應用程式,那麼使用 ASP.NET Web API 應該是挺理想的解決方案.不過 ASP.NET Web API 內建支援 JSON 與 XML 兩種輸出格式,並依據瀏覽器端送出的 Accept 標頭自動決定回應的內容格式,

WebService 返回json格式和返回xml格式的数据

返回json格式 //using System.Web.Script.Services; [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void HelloWorld() { Context.Response.Clear(); Context.Response.ContentType = "application/json"; Model.User.U