1:在界面把数据封装成JSON字符窜: 格式如下:
{"a":"1","b":"2","c":[{"d":"3","e":"4"},{"d":"3","e":"4"}]}
界面js如下:
//一个字符串数据
function getJsons(){
var zlf = checkCongfu("zhonglei");
if(!zlf){
return "";
}
var sfxm = document.getElementById("sfxm").value;
if(sfxm==2){
var fzxamt = document.getElementById("fzxamt").value;
var zxel = document.getElementsByName("xnamt");
var ed = document.getElementById("namt").value;
var fpsum = 0;
for(var i=0;i<zxel.length;i++){
if(zxel[i].value!=""){
fpsum = fpsum + parseFloat(getNum(zxel[i].value));
}
}
fpsum = fpsum+parseFloat(getNum(fzxamt));
if(parseFloat(getNum(ed))<fpsum){
alert("调整额度小于分配额度");
return "";
}
}
var mx = document.getElementsByName("dbxz");
var namt = document.getElementById("namt");
var allused = document.getElementById("usedamt");
var danbao = document.getElementsByName("danbao");
var zhonglei = document.getElementsByName("zhonglei");
var odi = document.getElementById("oid");
var appid = document.getElementById("appid");
if(namt.value!=""){
var r = new StringBuffer('{ \"namt\":\"');
var tzsm = document.getElementById("othersVal");
r.append(parseFloat(getNum((namt.value)))*10000);
r.append('\",\"oid\":\"');
r.append(odi.value);
r.append('\",\"tzsm\":\"');
r.append((tzsm.value));
r.append('\",\"cor\":\"');
r.append('<%=cror%>');
r.append('\",\"appid\":\"');
r.append(appid.value);
r.append('\",\"allused\":\"');
r.append(0);
r.append("\"");
if(sfxm==2){
r.append(',\"mx\":');
var tempr =new StringBuffer("[");
var zhonglei = document.getElementsByName("zhonglei");
//var jyed = parseFloat(getNum(document.getElementsByName("xnamt")))*10000;
var jyed = document.getElementsByName("xnamt")
var danbao = document.getElementsByName("danbao");
var danbaosm = document.getElementsByName("xnwartcmt");
var f = false;
tempr.append('{\"zhonglei\":\"');
tempr.append(100);
tempr.append('\", \"xnamt\":\"');
tempr.append(parseFloat(getNum(document.getElementById("fzxamt").value))*10000);
tempr.append('\", \"usedamt\":\"');
tempr.append(parseFloat(getNum(document.getElementById("fzxamt").a))*10000);
tempr.append('\",\"danbao\":\"');
tempr.append(danbao[0].value);
tempr.append('\",\"danbaosm\":\"');
tempr.append(document.getElementById("fzxnwartcmt").value);
tempr.append('\"},');
if(danbao[0].value==""){
alert("请填写担保方式!");
danbao[0].focus;
return "";
}
for(var i=0 ; i<mx.length;i++){
//if(mx[i].checked==true || jyed[i].value!=""){
//alert(jyed[i].value);
if(jyed[i].value!=""){
if(jyed[i].value==""){
alert("请填写额度!");
jyed[i].focus;
return "";
}
if(danbao[i+1].value==""){
alert("请填写担保方式!");
danbao[i+1].focus;
return "";
}
if(zhonglei[i].value==""){
alert("请填写授信种类!");
zhonglei[i].focus;
return "";
}
tempr.append('{\"zhonglei\":\"');
tempr.append(zhonglei[i].value);
tempr.append('\", \"xnamt\":\"');
tempr.append(parseFloat(getNum(jyed[i].value))*10000);
tempr.append('\", \"usedamt\":\"');
//if(jyed[i].a!=null && jyed[i].a!=""){
//tempr.append(parseFloat(getNum(jyed[i].a))*10000);
//}else{
tempr.append(0);
//}
tempr.append('\",\"danbao\":\"');
tempr.append(danbao[i+1].value);
tempr.append('\",\"danbaosm\":\"');
tempr.append(danbaosm[i].value);
tempr.append('\"},');
f = true;
}else{
//alert("请填写额度!");
//jyed[i].focus;
//return "";
}
}
tempr =tempr.substringBetween(0,tempr.getLength()-1);
tempr=tempr+"]";
r.append(tempr);
}
r.append("}");
return r;
}else{
return "";
}
}
2:界面把JSON传到后台
function dosave(){
var r = getJsons();
if(r!=""){
document.getElementById("dos").disabled =true ;
document.getElementById("dob").disabled = true ;
cedit.saveFbcmcEditApp(r.toString(),chagexnAmt);
}
}
3:后台接收JSON并处理:
public String saveFbcmcEditApp(String app){
String s ="";
//String s = fbcmCeditAuditDao.saveFbcmcEditApp(app);
JSONObject t= JSONObject.fromObject(app);
String namt = t.getString("namt");
String oid = t.getString("oid");
String cor = t.getString("cor");
String allused = t.getString("allused");
//String mx = t.getString("mx");
//this.getDaoFacade().getCommonDao().delete(object)
FbcmCeditApp oidFbcmCeditApp = getDaoFacade().getFbcmCeditAuditDao().checkAmt(oid, namt);
if(oidFbcmCeditApp==null){
return ("调整金额小于占有金额");
}
if(oidFbcmCeditApp.getSuperclt()!=null){
FbcmCeditApp apps =getDaoFacade().getFbcmCeditAuditDao().getFbcmCeditAppByCltno(oidFbcmCeditApp.getSuperclt());
if(apps!=null && apps.getAmt().doubleValue() < Double.parseDouble(namt)){
return ("调整金额大于上级可用额度");
}
}
Set oset = oidFbcmCeditApp.getFbcmCrtappDetails();
//页面要保存的明细
if(oidFbcmCeditApp.getIsproject().equals(new Long(String.valueOf(Statics.P_NO)))){
String mx = t.getString("mx");
JSONArray ja= JSONArray.fromObject(mx);
//Set mxs = new HashSet();
for(int i =0 ; i<ja.size();i++){
JSONObject tempmx = (JSONObject)ja.get(i);
String zl =tempmx.getString("zhonglei");
String ed =tempmx.getString("xnamt");
Iterator iter =oset.iterator();
while(iter.hasNext()){
FbcmCrtappDetail fcd = (FbcmCrtappDetail)iter.next();
if(fcd.getType().equals(zl)){
if(fcd.getUsedamt()!=null &&!"".equals(fcd.getUsedamt())){
System.out.println(fcd.getUsedamt().doubleValue() +"@@@"+Double.parseDouble(ed));
if(fcd.getUsedamt().doubleValue() > Double.parseDouble(ed)){
if("100".equals(zl)){
return ("非专项调整金额小于占有金额");
}else{
String name =getDaoFacade().getFbcmCeditAuditDao().getSxName(zl);
return (name+"调整金额小于占有金额");
}
}
}
}
}
}
}
//删除相关的调整的明细
List ll = getDaoFacade().getFbcmCeditAuditDao().findSqsms(Long.valueOf(oid));
if(ll!=null){
for(int i=0; i<ll.size();i++){
FbcmAppDetail ttt = (FbcmAppDetail)ll.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
//删除相关的调整的说明
//List lll = getDaoFacade().getFbcmCeditAuditDao().findTzmx(Long.valueOf(oid));
List lll = getDaoFacade().getFbcmCeditAuditDao().findTzmx(oidFbcmCeditApp.getOldid());
if(lll!=null){
for(int i=0; i<lll.size();i++){
FbcmCrtappDetail ttt = (FbcmCrtappDetail)lll.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
////删除相关的调整
List l = getDaoFacade().getFbcmCeditAuditDao().getEditAppByOldId(oidFbcmCeditApp.getOldid().toString());
//getDaoFacade().getFbcmCeditAuditDao().deleteAuditEditApp(l);
if(l!=null){
for(int i=0; i<l.size();i++){
FbcmCeditApp ttt = (FbcmCeditApp)l.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
//保存初始申请的调整系数。
FbcmCeditApp yssx =(FbcmCeditApp)this.getDaoFacade().getCommonDao().findById(oidFbcmCeditApp.getOldid(), FbcmCeditApp.class);
oidFbcmCeditApp.setLoadadjrate(yssx.getLoadadjrate());
FbcmCeditApp temp = getDaoFacade().getFbcmCeditAuditDao().saveFbcmCeditApp(oidFbcmCeditApp, namt,allused, oid, cor, t);
FbcmCeditApp ysq = getDaoFacade().getFbcmCeditAuditDao().getAppById(oidFbcmCeditApp.getOldid().toString());
getDaoFacade().getFbcmCeditAuditDao().saveFbcmAppDetail(ysq, t);
s="保存成功;"+temp.getId();
return s;
}
分享到:
相关推荐
DWR提供了自动转换Java对象到JavaScript对象以及反向转换的功能,使得数据交换变得简单。 **DWR分页实现步骤:** 1. **配置DWR**:在Web应用的`WEB-INF`目录下创建`dwr.xml`配置文件,定义允许JavaScript调用的...
在处理JSON数据时,DWR提供了自动序列化和反序列化机制,将Java对象转换为JSON字符串,然后传递给客户端,客户端再将这些字符串解析成JavaScript对象。 要使用DWR返回JSON数据,首先需要在服务器端设置DWR配置。...
在本例中,服务器端通过DWR调用执行SQL查询后,会将结果集转化为JSON格式,然后发送到客户端。JavaScript可以轻易解析这些JSON数据,并用于动态更新页面上的分页内容。 对于分页功能,通常需要以下几个关键步骤: 1...
DWR(Direct Web Remoting)是一种Java技术,用于在Web应用程序中实现富客户端(Rich Internet Applications,RIA)的交互。...从基础配置到高级应用,全方位解析DWR的各种功能,帮助你成为一名出色的DWR开发者。
在你提供的实例中,“dwr实例,从后台取数据显示”表明这是一个使用DWR从服务器获取数据并在前端展示的简单应用。 1. **DWR的工作原理**:DWR通过在服务器上设置一个代理,允许JavaScript调用Java方法,就像它们是...
天气预报,城市select联动,dwr,json 全国各省名称: http://www.weather.com.cn/data/list3/city.xml 全国城市: http://www.weather.com.cn/data/city3jdata/china.html 获得各省城市清单: ...获得各市城市清单: ...
5. **自动序列化和反序列化**:DWR自动处理Java对象到JavaScript对象的转换,简化了数据交换的复杂性。 ### DWR的基本工作流程 1. **配置**:在服务器端,我们需要配置DWR的`dwr.xml`文件,声明可被远程调用的Java...
标题 "struts2+spring+hibernate+jquery+dwr+json" 描述了一个集成的Web应用程序开发框架,其中包含了多个关键技术和库。这个框架旨在提高开发效率,提供灵活的数据管理,以及用户友好的前端交互。 1. Struts2:...
例如,`<convert converter="bean" class="com.dwr.MyBean"/>` 将允许DWR自动处理 `MyBean` 类型的对象。 6. **安全与优化**: - DWR的安全性依赖于其配置,应谨慎设置暴露给JavaScript的方法,避免敏感信息泄露。...
DWR如何获得返回对象 DWR如何获得返回对象 DWR如何获得返回对象
使用EXT的EditorGrid,实现前台页面对数据直接进行增删改查操作。...例子中使用了DWR和JSON.含MySQL数据库脚本,并已加入Log4j日志记录。本例详细讲解可以参见:http://www.cshopetech.com/showtopic-239.aspx
“DWR学习笔记”可能包含了逐步的学习教程,涵盖了从安装DWR到创建第一个实时Web应用的全过程。这些笔记可能会讲解如何在项目中集成DWR,如何编写Java端的服务,以及如何在HTML和JavaScript中调用这些服务。 “DWR...
1. **自动类型转换**:DWR自动处理Java对象与JavaScript对象之间的类型转换,减少开发者的工作量。 2. **批量调用**:支持一次发送多个请求,提高性能。 3. **异步与同步调用**:提供异步和同步两种调用方式,满足...
在服务器端,接收到的JSON数据会被解析为Java对象,这通常可以通过Java的JSON库如Jackson或Gson来完成。接着,这些Java对象可以被DWR框架识别并映射到相应的Java方法。DWR会处理所有网络通信的细节,使得开发者可以...
DWR默认采用异步模式,这意味着JavaScript调用Java方法不会阻塞浏览器,而是立即返回,并在后台处理请求。当请求完成时,回调函数会被调用。 7. **安全性** DWR提供了多种安全措施,如CSRF保护、IP白名单等,以...
3. **DWR库**:从DWR官网下载最新版本的DWR库,解压到项目中。 ### 三、创建Java类 首先,我们需要一个简单的Java类,该类包含一个返回"Hello, World!"的静态方法。例如: ```java public class HelloWorld { ...
3. **错误处理**:DWR调用的服务器端方法如果抛出异常,可以捕获并将异常信息返回给客户端,此时可以利用DWR的错误处理机制,而不是依赖JSP的`exception`内置对象。 4. **页面更新**:DWR可以更新客户端的HTML元素...
DWR (Direct Web Remoting) 是一个开源Java库,它允许在Web应用程序中实现JavaScript与服务器端Java对象的直接交互,极大地简化了AJAX(Asynchronous JavaScript and XML)的使用。在J2EE环境中,DWR作为一个强大的...