// 主页
@RequestMapping(value = "/home")
public ModelAndView home() {
ModelAndView MV = new ModelAndView("loan/loan_list");
return MV;
}
public LoanSummaryForm setForm(LoanSummary entity) {
LoanSummaryForm page=new LoanSummaryForm();
BigDecimal num=new BigDecimal(100);
page.setiAutoID(entity.getiAutoID());
page.setsMobile(entity.getsMobile());
page.setiAmount(new BigDecimal(entity.getiAmount()).divide(num));
page.setiMoney(new BigDecimal(entity.getiMoney()).divide(num));
page.setsBankName(entity.getsBankName());
page.setsBankCard(entity.getsBankCard());
page.setiGetCashTime(DateUtil.date2String(new Date(entity.getiGetCashTime()*1000), DateUtil.TIME_FORMATTERN));
page.setiStatus(entity.getiStatus());
page.setiCreateTime(DateUtil.date2String(new Date(entity.getiCreateTime()*1000), DateUtil.TIME_FORMATTERN));
page.setiUpdateTime(DateUtil.date2String(new Date(entity.getiUpdateTime()*1000), DateUtil.TIME_FORMATTERN));
return page;
}
// 列表
@RequestMapping(value = "/list", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> listAll(@RequestBody LoanSummaryForm model,HttpSession session,HttpServletRequest request){
LOGGER.info("新增");
LOGGER.info("\n捕获到前台传递过来的Model,名称为:提现申请时间" + model.getiGetCashTimeFrom()
+"\n提现申请时间至"+model.getiGetCashTimeTo()
+"\n提现状态"+model.getiStatus()
+"\n提现用户账号"+model.getsMobile()
);
String sMobile=model.getsMobile();
String iGetCashTimeFrom=model.getiGetCashTimeFrom();
String iGetCashTimeTo=model.getiGetCashTimeTo();
String iStatus=""+model.getiStatus();
List<LoanSummary> list = loansService.findByCondition(sMobile, iGetCashTimeFrom, iGetCashTimeTo, iStatus);
List<LoanSummaryForm> pages = new ArrayList<LoanSummaryForm>();
BigDecimal decimal=new BigDecimal(0.00);
for (LoanSummary entity : list) {
LoanSummaryForm page=setForm(entity);
decimal=decimal.add(page.getiMoney());
pages.add(page);
LOGGER.error("\n提现流水号:"+page.getiAutoID()
+"\n提现用户账号:"+page.getsMobile()
+"\n账户余额(¥):"+page.getiAmount()
+"\n提现金额(¥):"+page.getiMoney()
+"\n提现银行:"+page.getsBankName()
+"\n银行卡号:"+page.getsBankCard()
+"\n提现申请时间:"+page.getiGetCashTime()
+"\n提现状态:"+page.getiStatus()
+"\n创建时间:"+page.getiCreateTime()
+"\n更新时间:"+page.getiUpdateTime());
} Map<String, Object> modelMap = new HashMap<String, Object>(3);
modelMap.put("total", "1");
modelMap.put("data", pages);
modelMap.put("success", "true");
modelMap.put("iTotal", decimal.toString());
session.setAttribute("loans", pages);
return modelMap;
} // ajax请求根据id查找实体数据value = "/findLoan")
@RequestMapping(value = "/findLoan", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> find(HttpSession session,HttpServletRequest request){
int id= Integer.parseInt(request.getParameter("id"));
System.out.println("session set:"+id+"==");
LoanSummary loan = loansService.findById(id);
LOGGER.error("\n提现流水号:"+loan.getiAutoID()
+"\n提现用户账号:"+loan.getsMobile()
+"\n账户余额(¥):"+loan.getiAmount()
+"\n提现金额(¥):"+loan.getiMoney()
+"\n提现银行:"+loan.getsBankName()
+"\n银行卡号:"+loan.getsBankCard()
+"\n提现申请时间:"+loan.getiGetCashTime()
+"\n提现状态:"+loan.getiStatus()
+"\n创建时间:"+loan.getiCreateTime()
+"\n更新时间:"+loan.getiUpdateTime());
session.setAttribute("ROOMNAME", id);
//springmvc 返回信息到ajax:
List<LoanSummary> list = new ArrayList<LoanSummary>();
list.add(loan);
Map<String, Object> modelMap = new HashMap<String, Object>(3);
modelMap.put("total", "1");
modelMap.put("data", list);
modelMap.put("success", "true");
return modelMap;
}
<#setting classic_compatible=true>
<#assign base=springMacroRequestContext.getContextUrl("")>
<#import "spring.ftl" as s />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>列表</title>
<script type="text/javascript" src="<@s.url '/res/jquery-1.11.3.js'/>"></script>
<script type="text/javascript" src="<@s.url '/res/jquery.json.min.js'/>"></script>
<script type="text/javascript">
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [ o[this.name] ];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
</script>
<style type="text/css">
<!--
.STYLE1 {
font-family: Arial, Helvetica, sans-serif,新宋体;
font-weight: bold;
font-size: 26px;
color: #FF0000;
} .STYLE13 {
font-size: 22
} .STYLE15 {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
}
-->
</style>
</head> <body>
<form action="list" method="post" id="inform">
<table>
<tr>
<th>提现用户账号</th>
<td><input type="text" name="sMobile" /></td>
</tr>
<tr>
<th>提现申请时间起</th>
<td><input type="text" name="iGetCashTimeFrom" /></td>
</tr>
<tr>
<th>提现申请时间止</th>
<td><input type="text" name="iGetCashTimeTo" /></td>
</tr>
<tr>
<th>提现状态</th>
<td><input type="text" name="iStatus" /></td>
</tr>
<tr>
<td><input type="submit" value="查询"></td>
<td><input type="button" onclick="setshow()" value="下载"></td>
</tr>
</table>
</form> <#if loans?? & loans?size gt 0>
<p>共查询到items?size}个结果</p>
<#else>
<p>没有查询到符合条件的结果,请更换条件再试试。</p>
</#if>
<table style="text-align: center;" width="100%" id="mytable">
<tr>
<td colspan="12" height="30" align="center"><span
class="STYLE1">用户列表</span></td>
</tr>
<tr>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现流水号</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现用户账号</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">账户余额(¥)</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现金额(¥)</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现银行</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">银行卡号</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现申请时间</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">提现状态</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">创建时间</span></td>
<td width="100" height="30" align="center" valign="middle"><span
class="STYLE15">更新时间</span></td>
<td colspan="2" width="100" height="30" align="center"
valign="middle"><span class="STYLE15">功能</span></td>
</tr>
<div id="detail"> </div>
</table>
<br />
<div align="center" id="info">
<a href="clear">注销</a>
</div>
<script type="text/javascript">
/**
* ajax-----提交的参数可以通过url提交,也可以用data:{}方式提交
*/
function setshow() {
//$.ajax({type: "POST",url:"user/login",async:false,data: params});
/** data : {
'room' : $("#roomid").find('option:selected').text(),
'roomid' :$("#roomid").val()
},
$.each(params, function(i, field) {
$("#results").append(
field.name + ":" + field.value + "<br />");
if (isEmpty(field.value)) {
return;//验证是否为空
}
});
<#if loginStatus??>
loginStatus+='${loginStatus}';
</#if>
$("#loginForm").attr("action", "user/login");
$("#loginForm").submit();
if(status == "success" && !isEmpty(loginStatus) && loginStatus !="用户名或密码错误"){
document.write(data);
window.location.href="user/userList";
}*/
// params = $("#inform").serializeArray();
var jsonObjInfo = $.toJSON($('#inform').serializeObject());
alert("jsonObjInfo\n"+jsonObjInfo);
jQuery.ajax( {
type : "POST",
contentType : 'text/html',
url : "list",
data : jsonObjInfo,
dataType : "json",
success : function(data) {
if (data && data.success == "true") {
var num = 0;
var tableHtml ="";
$.each(data.data, function(i, item) {
tableHtml+=
"<tr>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iAutoID+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.sMobile+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iAmount+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iMoney+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.sBankName+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.sBankCard+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iGetCashTime+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iStatus+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iCreateTime+"</span></td>"
+"<td width='100' height='30' align='center' valign='middle'><span"
+"class='STYLE15'>"+item.iUpdateTime+"</span></td>"
+"<td width='50' height='30' align='center' valign='middle'>"
+"<a onclick='removeTr('"+item.iAutoID+"')>删除</a></td>"
+"<td width='50' height='30' align='center' valign='middle'>"
+"<a id='save' href=deleteUser?id='"+item.iAutoID+"'>保存</a></td>"
+"<td width='50' height='30' align='center' valign='middle'>"
+"<a href=findUser?id="+item.iAutoID+">修改</a></td>"
+"<td width='50' height='30' align='center' valign='middle'>"
+"<a href=deleteUser?id="+item.iAutoID+">删除</a></td>"
+"<td width='50' height='30' align='center' valign='middle'>"
+"<a href=showItem("+item.iAutoID+")>详细信息</a></td>"
+"</tr>";
$('#info').append(
"提现流水号:"+
+"提现用户账号:"+item.sMobile
+"账户余额(¥):"+item.iAmount
+"提现金额(¥):"+item.iMoney+"\n"
+"提现银行:"+item.sBankName
+"银行卡号:"+item.sBankCard
+"提现申请时间:"+item.iGetCashTime+"\n"
+"提现状态:"+item.iStatus
+"创建时间:"+item.iCreateTime
+"更新时间:"+item.iUpdateTime+"\n");
});
var elements = $("#mytable").children().length; //表示id为“mytable”的标签下的子标签的个数
$("#mytable").children().eq(elements - 1).after(tableHtml); //在表头之后添加空白行
num++;
//$('#detail').html(tableHtml);
alert("返回数据成功!");
} else {
alert("返回数据失败!");
}
},
error : function() {
alert("网络连接出错!");
}
});
}
function showItem(id) {
$.ajax({
type : "GET",
url : "${base}/findLoan",
data :{'id' : id},
dataType : "json",
success : function(data) {
if (data && data.success == "true") {
$.each(data.data, function(i, item) {
$('#info').append(
"提现流水号:"+item.iAutoID
+"提现用户账号:"+item.sMobile
+"账户余额(¥):"+item.iAmount
+"提现金额(¥):"+item.iMoney+"\n"
+"提现银行:"+item.sBankName
+"银行卡号:"+item.sBankCard
+"提现申请时间:"+item.iGetCashTime+"\n"
+"提现状态:"+item.iStatus
+"创建时间:"+item.iCreateTime
+"更新时间:"+item.iUpdateTime+"\n");
});
alert("返回数据成功!");
} else {
alert("返回数据失败!");
}
},
error : function() {
alert("网络连接出错!");
}
});
}
//非空判断
function isEmpty(strIn) {
if (strIn === undefined) {
return true;
} else if (strIn == null) {
return true;
} else if (strIn == "") {
return true;
} else {
return false;
}
} /* function check(obj) {
var content = obj.val();
var attribute = obj.attr("name");
if (attribute == "account" && !content) {//验证用户名是否为空
$("#msg1").val("用户名不能为空!");
$("#account").focus();
} else {
$("#msg1").val("");
}
if (attribute == "passwd" && !content) {//验证密码是否为空
$("#msg2").val("密码不能为空!");
$("#passwd").focus();
} else {
$("#msg2").val("");
}
} */
</script>
</body>
</html>
		<!-- json转换 ,springmvc 返回json格式必须加入 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.3</version>
</dependency>
	<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射,请求映射 -->
<context:annotation-config />
<context:component-scan base-package="com.test.action" />
<!-- 启动基于Spring MVC的注解功能,激活@Controller,将控制器与方法映射加入到容器中 -->
<!--避免IE执行AJAX时,返回JSON出现下载文件 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

在 Spring mvc3中,响应、接受 JSON都十分方便。
使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON。
使用 @RequestBody 注解前台只需要向 Controller 提交一段符合格式的 JSON,Spring 会自动将其拼装成 bean。
Spring这个转换是靠org.codehaus.jackson这个组件来实现的,所以需要引入jackson-core-asl和org.codehaus.jackson两个jar包。

qw的更多相关文章

  1. perl q qq qr qw qx 区别与使用方法

    1.q 相当于 单引号' ' 转义字符无效 q可以使用()[] {} // ,, 2.qq 相当于" " 转义字符有效 qq可以使用()[] {} // ,, 3.qw  相当于 ...

  2. Perl中 qw 是 “quoted Word” 或是 “quoted by whitespace”的简写

    Perl中 qw 是 “quoted Word” 或是 “quoted by whitespace”的简写 eg: @strict_pragma = qw ( a b c);

  3. Perl语言中一些内置变量等,$x、qw、cmp、eq、ne等

    转载 Perl语言中一些内置变量等,$x.qw.cmp.eq.ne等 字母 符号 释义 eq  = = equal(等于) ne != not equal(不等于) cmp 比较 qq  " ...

  4. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  5. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  6. 如何在ASP.Net创建各种3D图表

    我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具.图表是表示数据的图形,一般含有X和Y两个坐标轴.我们可以用折线,柱状,块状来表示数据.通过图表控件,我们即能表示数据又能比较各种 ...

  7. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  8. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  9. MongoDB学习笔记~对集合属性的操作

    回到目录 $unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$ ...

随机推荐

  1. 运维自动化之Cobbler系统安装详解

    原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...

  2. React后台管理系统-商品管理列表组件

    1.商品列表页面结构 <div id="page-wrapper">              <PageTitle title="商品列表" ...

  3. HTML复选框checkbox默认样式修改

    此方法可以将复选框的默认样式替换成任意样式.如图: 未选择: 选择时: 思路:将复选框隐藏,利用lebal元素的焦点传递特性,用lebal的样式替代复选框. 代码如下: <!DOCTYPE ht ...

  4. 【NTT】loj#6261. 一个人的高三楼

    去年看过t老师写这题博客:以为是道神仙题 题目大意 求一个数列的$k$次前缀和.$n\le 10^5$. 题目分析 [计数]cf223C. Partial Sums 加强版.注意到最后的式子是$f_i ...

  5. js控制时间显示格式

    Date.prototype.Format = function (fmt) { //author: meizz     var o = {        "M+": this.g ...

  6. (83)zabbix Less than 25% free in the configuration cache解决

    在zabbix server默认配置下,出现告警:Less than 25% free in the configuration cache,字面意思是:可用的配置缓存少于25%. 报错如下图: 增加 ...

  7. 一、MySQL 安装

    MySQL 安装 所有平台的 MySQL 下载地址为: MySQL 下载 . 挑选你需要的 MySQL Community Server 版本及对应的平台. 注意:安装过程我们需要通过开启管理员权限来 ...

  8. goaccess 安装

    今天尝试搭建goaccess,用于分析access.log文件,但安装并不顺利,小记一下自己遇到的问题及解决方法 系统环境:CentOS release 6.9 一.参照官网教程进行搭建 $ wget ...

  9. 多页应用 Webpack4 配置优化与踩坑记录

    前言 最近新起了一个多页项目,之前都未使用 webpack4 ,于是准备上手实践一下.这篇文章主要就是一些配置介绍,对于正准备使用 webpack4 的同学,可以做一些参考. webpack4 相比之 ...

  10. DeepFaceLab报错,CUDA driver is insufficient 解决方法!

    DeepFaceLab出错,虽然错误提示很长很长,但是无非两种情况,一种是驱动没装好,一种是显存配置不够. CUDA driver version is insufficient for CUDA r ...