json 新用
如果使用struts2的action,可以省去属性赋值的工夫。
但是假如你没有使用struts2,而且使用的是ajax请求,通过json来传递参数。那我下面所说的对你可能是一个很好的解脱,从此告别request.getParamter。
在传递参数前,可以通过JSON.encode将参数对象转换为字符串param,作为一个参数传递过去。在服务端,通过获取一个字符串的参数param,通过JsonObject.fromObject,将param转换为java对象。这样就不用一个一个的给javabean属性赋值,如果传递了多个参数,使用此方法可以事半功倍!如果需求变更参数增删改查毫无压力。只要json的属性和javabean的属性对应起来,参数赋值不再关心!
使用示例:
js代码:
/*
* 进行数据请求
*/
function ajaxBusinessInfos(curPage, perNum) {
// 参数设置
var param = {};
if (curPage && perNum) {
param.curPage = curPage;
param.perNum = perNum;
} else {
param.curPage = 1;
param.perNum = 10;
}
param.id = $('#businessId').val();
param.name = $('#businessName').val();
param.recordNodeName = $('#recordNodeName').val();
param.nodeType = $('#businessNodeType').combobox('getValue');
param.businessType = $('#businessType').combobox('getValue');
param.startDate = $('#businessStartDate').datebox('getValue') ;
param.endDate = $('#businessEndDate').datebox('getValue'); $('#businessmaskdiv').mask({
maskMsg : "数据加载中。。。"
});
paramStr = JSON.encode(param);
var jqxhr = $.post('test.jsp',
paramStr, function(data) { // 请求成功 }).error(function(data, status) { // 请求失败 }).complete(function(data, status) { // 请求完成
$('#businessmaskdiv').mask('hide');
}); }
//test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
String paramStr = request.getParameter("paramStr");
Bean b = JsonObject.fromObject(paramStr); //b 中对应的在json对象中传递过来的参数就已经被赋值成功
json 新用的更多相关文章
- js的JSON新方法和历史记录管理
今天看妙味的视频,一下是一些简单的笔记: 1.JSON的一些新方法: JSON.stringify(); JSON.parse(); 第一个是把js脚本转换成JSON的字符串形式. 而第二个则是吧这种 ...
- JSON 新感
1,如何解析复杂JSON 选择fastJson 用起来简单方便,前提必须是标准的JSON: 例子: paraArray = "[" + paraArray + "]&qu ...
- 简单使用JSON,JavaScript中创建 JSON 对象(一)
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0 1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...
- 【java/Json】用Java对象构建Json语法树
本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...
- php获取用户 地区 、ip地址
header("Content-type: text/html; charset=utf-8"); function getCity($ip = '')//获取地区 { if($i ...
- Grails 1.2参考文档速读(10):Controller
转载:http://keyvalue.blog.51cto.com/1475446/303260 从本篇起,我们将开始进入Grails的Web层,首先让我们从Controller说起. G ...
- HTML5 学习总结
1,h5比原来的h4.0版本的页面头部更为简化, <!doctype html> <meta charset="utf-8"/>sublime中快速生成格式 ...
- 1.6分布式通讯协议-WebService
RPC 包含的要素(webservice) 协议层:tcp/ip 应用层: http协议 SOAP: http+xml 分布式通信框架-webservice分析 什么是webservice webse ...
随机推荐
- android在listview中放入从sdcard读取的bitmap
重写viewbinder public class viewbinder_bookmark implements SimpleAdapter.ViewBinder{ @Override public ...
- T1082 线段树练习3 codevs
http://codevs.cn/problem/1082/ 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 ...
- cogs——1786. 韩信点兵
1786. 韩信点兵 ★★★ 输入文件:HanXin.in 输出文件:HanXin.out 简单对比 时间限制:1 s 内存限制:256 MB [题目描述] 韩信是中国军事思想“谋战” ...
- BMP的图像处理
近期碰到了一个问题将图片缩放: 进行了整理发现位图一些主要的结构能够进行整理,得出下面图表: 进行图片缩放的时候会进行一些处理(最临近差值法): 详细的代码例如以下: #include <std ...
- android 请求网络异步载入
/** * 封装ProecssDialog对话框 * */ public class LoadDialog extends ProgressDialog { private String title ...
- JQuery之replace以及给控件赋值
<input type="hidden" name="ImgUrl" readonly="readonly"> <inpu ...
- 工作总结 c#如何将两个List集合合并
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- linux查找nginx所在目录
ps -ef |grep nginx
- The Pragmatic Programmer 读书笔记之中的一个 DRY-Don’t Repeat Youself
The Pragmatic Programmer读书笔记之中的一个 DRY-Don't Repeat Youself 尽管自己买了非常多软件project方面的书,可是由于时间的问题.一直没有静 ...
- POJ 1741 Tree 树形DP(分治)
链接:id=1741">http://poj.org/problem?id=1741 题意:给出一棵树,节点数为N(N<=10000),给出N-1条边的两点和权值,给出数值k,问 ...