struts2通过action返回json对象
其实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!
相关推荐
-
Struts2 ActionContext 中的数据详解
ActionContext ActionContext是Action的上下文,Struts2自动在其中保存了一些在Action执行过程中所需的对象,比如session, parameters, locale等.Struts2会根据每个执行HTTP请求的线程来创建对应的ActionContext,即一个线程有一个唯一的ActionContext.因此,使用者可以使用静态方法ActionContext.getContext()来获取当前线程的ActionContext,也正是由于这个原因,使用者不用
-
详解Struts2中Action访问Servlet API的几种方法
详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象.如果想在Struts2程序中用到这两个对象,也有解决方法 Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,能更轻松的测试该Action.但如何访问? Web应
-
Struts2中异常处理机制分析
因为在Action的execute方法声明时就抛出了Exception异常,所以我们无需再execute方法中捕捉异常,仅需在struts.xml 中配置异常处理. 为了使用Struts2的异常处理机制,必须打开Struts2的异常映射功能,这需要exception拦截器.在struts-default.xml文件中已经开启了exception拦截器. 声明式异常捕捉 Struts2的异常处理机制是通过在struts.xml文件中配置<exception-mapping--/>元素完成的,配置
-
关于struts2中Action名字的大小写问题浅谈
前言 今天在使用struts框架编写Action类以及在jsp中写调用相关Action的url时出现如下错误: There is no Action mapped for namespace [/] and action name [MainPage] associated with context path [/xxx]. - [unknown location] 记得以前也曾经遇到过这样的错误,可能的原因有: 1,struts.xml文件中配置package时,namespace写错: 2,
-
Struts2之Action接收请求参数和拦截器详解
技术分析之在Struts2框架中使用Servlet的API 1. 在Action类中也可以获取到Servlet一些常用的API 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上. 提供JSP注册的页面,演示下面这三种方式 <h3>注册页面</h3> <form action="${ pageContext.request.contextPath }/xxx.action"
-
struts2通过action返回json对象
其实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 Action
-
Struts2 Result 返回JSON对象详解
如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持.但是,在开发工作中,对功能的升级是基于既定架构是很常见的情况.本人碰到需要用开发基于Struts2的HTTP+JSON返回类型接口就是基于既定框架结构下进行的. Struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串:2.使用Struts2对JSON的扩展.
-
ASP.NET使用Ajax返回Json对象的方法
一.新建一个html页面,如注册页面"Register.htm" <!DOCTYPE html> <html > <head> <title>用户注册</title> <meta charset="utf-8" /> <style type="text/css"> .msg { color:Red; } </style> </head> &
-
SpringBoot返回Json对象报错(返回对象为空{})
目录 1 需求描述 2 代码展示 3 原因分析 4 解决方案 5 效果展示 6 结束语 1 需求描述 我们现在要干一个什么事情呢,我们要在浏览器输入一个请求地址,然后我们的后端就给我返回一个User对象即可,并且我希望以Json的格式返回.这个需求很明确,我们先直观的展示一下效果.发送请求: 接受结果: 2 代码展示 行了,明确了需求我们开始整活儿.首先我们老规矩还是先展示一下目录结构(其中标红的文件使我们今天要用到的): 接下来是具体的文件内容首先呢我们展示一下User.java文件 pack
-
在Action中以Struts2的方式输出JSON数据的实例
下面是整个Action的完整代码: package cn.ysh.studio.struts2.json.demo.action; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.Servlet
-
Python的Bottle框架中返回静态文件和JSON对象的方法
代码如下: # -*- coding: utf-8 -*- #!/usr/bin/python # filename: todo.py # codedtime: 2014-8-28 20:50:44 import sqlite3 import bottle @bottle.route('/help3') def help(): return bottle.static_file('help.html', root='.') #静态文件 @bottle.route('/json:json#[0-9
-
js+ajax处理java后台返回的json对象循环创建到表格的方法
本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get
-
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
利用struts2和Ajax实现json对象的传输,然后实现菜单的二级联动 下面是我的 js文件原码: 复制代码 代码如下: var mail={ //初始化 init:{ //初始化数据 initdata:{ did:'', ttitle:'', sendpassword:'', description:'' }, //初始化事件 initevent:{ DataEvent:function(){ $("#did").unbind("change");//获取一级
-
ajax后台处理返回json值示例代码
复制代码 代码如下: public ActionForward xsearch(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String parentId = request.getParameter("parentId"); String supplier = request.getParamet
-
django实现将后台model对象转换成json对象并传递给前端jquery
1.django的model转json对象. 1.1.单个modle转换,返回json对象: sqlOrder = get_object_or_404(SqlOrder,id=request.GET.get("id")) objJson = serialize('json',[sqlOrder])[1:-1] {"model": "sqlapply.sqlorder", "pk": 2, "fields":
随机推荐
- Vue利用路由钩子token过期后跳转到登录页的实例
- js中 计算两个日期间的工作日的简单实例
- PHP函数常用用法小结
- php常用字符串处理函数实例分析
- JavaScript实现自定义媒体播放器方法介绍
- C#中DataGridView操作技巧
- 快速解决进入fragment时不能弹出软件盘的问题
- 详解JavaScript中|单竖杠运算符的使用方法
- 基于flush()不能按顺序输出时的解决办法
- js密码强度校验
- C#中的问号(?号)用法小结
- 5种nginx负载均衡配置方法分享
- 浅谈jQuery页面的滚动位置scrollTop、scrollLeft
- jquery异步跨域访问代码
- node.js 一个简单的页面输出实现代码
- wap浏览自动跳转到wap页面的js代码
- 浅谈函数调用的不同方式,以及this的指向
- 标准布局应用:对联与旗帜
- 浅析java中ArrayList与Vector的区别以及HashMap与Hashtable的区别
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析