如果使用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 新用的更多相关文章

  1. js的JSON新方法和历史记录管理

    今天看妙味的视频,一下是一些简单的笔记: 1.JSON的一些新方法: JSON.stringify(); JSON.parse(); 第一个是把js脚本转换成JSON的字符串形式. 而第二个则是吧这种 ...

  2. JSON 新感

    1,如何解析复杂JSON 选择fastJson 用起来简单方便,前提必须是标准的JSON: 例子: paraArray = "[" + paraArray + "]&qu ...

  3. 简单使用JSON,JavaScript中创建 JSON 对象(一)

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  4. Java读取json文件并对json数据进行读取、添加、删除与修改操作

    转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0   1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...

  5. 【java/Json】用Java对象构建Json语法树

    本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...

  6. php获取用户 地区 、ip地址

    header("Content-type: text/html; charset=utf-8"); function getCity($ip = '')//获取地区 { if($i ...

  7. Grails 1.2参考文档速读(10):Controller

    转载:http://keyvalue.blog.51cto.com/1475446/303260       从本篇起,我们将开始进入Grails的Web层,首先让我们从Controller说起. G ...

  8. HTML5 学习总结

    1,h5比原来的h4.0版本的页面头部更为简化, <!doctype html> <meta charset="utf-8"/>sublime中快速生成格式 ...

  9. 1.6分布式通讯协议-WebService

    RPC 包含的要素(webservice) 协议层:tcp/ip 应用层: http协议 SOAP: http+xml 分布式通信框架-webservice分析 什么是webservice webse ...

随机推荐

  1. P - FatMouse and Cheese 记忆化搜索

    FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension ...

  2. 第5章 Cisco测试命令和TCP/IP连接故障处理

    第5章 Cisco测试命令和TCP/IP连接故障处理 一.故障处理命令 1.show命令: 1) 全局命令: show version :显示系统硬件和软件版本.DRAM.Flash show sta ...

  3. Wincc操作数据库SQLSERVER

     WINCC写数据库 在WINCC的图形编辑器中,在输入域的属性中.选择事件.再选择键盘的释放动作,在动作代码框中写下例如以下代码: Dim conn,rs Dim strsql Dim a a=HM ...

  4. HR系统-人员申请单

    部门在人员缺失时,须要进行人员申请, 申请会涉及到单据的建立及审核.单据建立界面例如以下:

  5. Mongo使用

    在用mongo进行查询时,$exists表示是否document是否包括这个field,即使field的value为null也算是包括. $exists Syntax: { field: { $exi ...

  6. 如何在 webpack 项目中使用绝对路径

    react 小白编程 本项目是使用 create-react-app 脚手架构建的react项目 找到 config 配置文件下的 webpack.config.dev.js 和 webpack.co ...

  7. 万维网 WWW (World Wide Web)

    万维网 WWW (World Wide Web)并非某种特殊的计算机网络.万维网是一个大规模的.联机式的信息储藏所.万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取 ...

  8. P1656 炸铁路

    P1656 炸铁路 81通过 286提交 题目提供者kkksc03 标签图论搜索/枚举洛谷原创 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目描述 因为某国被某红色政权残酷 ...

  9. 布局技巧2:合并布局(merge标签)

    我们已经有文章向你描述如何使用<include />标签来重用和共享你的布局代码.这篇文章将向你阐述<merge />标签的使用以及如何与<include />标签 ...

  10. How do browser cookie domains work?

    https://stackoverflow.com/questions/1062963/how-do-browser-cookie-domains-work 答案一 Although there is ...