1.前台ajax方法(这个是在FlowDocAction的add.jsp页面)

  //序列号
  var preFileNo = factoryCode+deptCode+"-"+modelSeriesCode+"-"+workProcessCode;

  var yz=$.ajax({
  type:'get',
  url:'FlowDocVersion!getSort.shtml?preFileNo='+preFileNo,
  cache:false,
  dataType:'json',
  success:function(data){
    if(data){

    //将json字符串转换为json对象,因为要通过点的方法来拿它的属性  eval('('+str+')');
    var obj = eval('(' + data + ')');
    alert(obj.preFileNo);
    }
    },
  error:function(data){
  alert("出错了");
  }
});

2.后台页面:因为此处是ssh的action,方法返回String类型默认去找对应页面,而请求的页面是另一个action的result对应的页面,所以此处的

(这里是在FlowDocVersinoAction.java类里)

  //文件编码
  public String getSort() throws Exception {
  try {
  //查询所有类似的文件
  String sql="select FileNo from FlowDocVersion where Status <>0 and FileNo like '"+preFileNo+"%'";
  System.out.println("getSort.sql:"+sql);
  List<FlowDocVersion> fileNoList = new FlowDocVersionFacade().find(sql,"FlowDocVersion.FileNo");
  int max = 0 ;
  if(fileNoList.size()==0){//没有与当前新增文件编码相同的文件编码
  preFileNo = preFileNo+"01";

  //将数据以json字符串形式响应到请求页面start
  HttpServletResponse response=ServletActionContext.getResponse();
  response.setContentType("text/html");
  PrintWriter out;
  out = response.getWriter();
  //将要被返回到客户端的对象
  JSONObject json=new JSONObject();
  json.accumulate("preFileNo", preFileNo);
  out.println(json.toString());
  out.flush();
  out.close();
  //将数据以json字符串形式传到请求页面end
  System.out.println(preFileNo);
  return "";
  }else {
  for(FlowDocVersion e:fileNoList){
  //拿到文件编码后边的序号
  String sort = e.getFileNo().substring(preFileNo.length(), e.getFileNo().length());
  if(sort.length()>0){
  //解决 NumberFormatException
  //把最大序号赋给max
  try{
  int i = Integer.valueOf(sort);
  if(max<i){
  max = i;
  }
  }catch (NumberFormatException ep) {
  preFileNo = preFileNo+"01";
  System.out.println(preFileNo);
  }
  }
  }
  max=max+1;//最大序号+1作为新增文件的序号
  if(max<10){//小于10个位用0填补
  preFileNo = preFileNo+"0"+max;
  }else{
  preFileNo = preFileNo+max;
  }
  }
  return null;
  }catch(Exception e) {
  this.setMsg("生成文档编码出错");
  Logger.getLogger(this.getClass()).error("FlowDocVersionAction getSort() Exception", e);
  return ERROR;
  }
  }

  

将数据以json字符串格式传到前台请求页面的更多相关文章

  1. PHP连接mysql数据库,并将取出的数据以json的格式输出

    <?php error_reporting(E_ALL || ~E_NOTICE); header("Access-Control-Allow-Origin:*");//此处 ...

  2. 后台拼接json字符串,传到前台时注意特殊符号处理

    1.后台拼接常用的形式:     sb.AppendFormat("\"字段名\":\"{0}\"", i + 1); 这个要注意字符串截断 ...

  3. urlencode($url):把url转义,当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符串的

    1.对url进行编码转义

  4. Java将其他数据格式转换成json字符串格式

    package com.wangbo.util; import java.beans.IntrospectionException; import java.beans.Introspector; i ...

  5. EasyUI datagrid 分页Json字符串格式

    //EasyUI datagrid 分页Json字符串格式 //{"total":xx,"rows":[{...},{...}]} total:总数 rows: ...

  6. Java将其他数据类型转换成JSON字符串格式

    Student.java package com.demo.servlet; import java.util.List; import java.util.Map; public class Stu ...

  7. JS对象与json字符串格式

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  8. JSON字符串格式化为JSON对象

    根据项目需要,需要对json格式的字符串格式化为json对象,以下是解决方法: 参考文章:https://www.cnblogs.com/cailijuan/p/10150918.html

  9. JAVA中JSON字符串格式转换

    alibabab版本  即com.alibaba.fastjson *以下Node为实体类 //JSON字符串->Map Map map1 = (Map)JSON.parse(strJson); ...

随机推荐

  1. React之Perf

    import Perf from 'react-addons-perf' // ES6语法 var Perf = require('react-addons-perf') // ES5语法针对node ...

  2. 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)

    字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII ...

  3. Redis高并发和快速的原因

    一.Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间:   3.redis使用多路复用技术,可以处理并发的连接 ...

  4. 5WHY分析法:一个问题分析与解决的工具

    5WHY分析法很多做项目的都知道,但是却很少有人能用到实处,或者是灵活运用,所以今天小编又来翻一遍这个“旧账”,让大家更了解5WHY分析法. 什么是5WHY分析法? 所谓5why分析法,又称“5问法” ...

  5. linux:提取匹配含有小数点的数字(grep函数)

    学艺不精,一开始用了 “grep -ne '46.5743' file.txt” 提取含有46.5743的小数不成功,后面查资料才知道正则表达式中,小数点代表的是:一定有一个任意字节. 正确的写法应该 ...

  6. java 学习:在java中启动其他应用,由jenkins想到的

    在jenkins的实践中遇到了一个问题: 我的项目依赖其他第三方应用的地方比较多,而且会占用多个端口,如何处理端口和启动/关闭第三方应用成了难题. 初级解决方案:在服务端上面写一堆bat文件,,,,_ ...

  7. Elastic 开发篇 javaAPI(4)

    1.解决精确匹配问题,如果不加配置,搜索农大,会搜出“农”“大”这两个字的匹配,我们要的是“农大”,那么好了,加上一个条件搞定: MatchQuery.Type.PHRASE 完整代码: packag ...

  8. 某些浏览器具有dns缓存功能,大家更改域名指向,建议清理下浏览器缓存

    最近遇到一个很郁闷的问题,在我们的的ngnix服务器上原来默认的网址需要更改.更改后,重启了ngnix.可是在客户端使用360浏览器打开网址.地址还是指向旧地址.直接输入服务器 IP地址转向了新地址, ...

  9. python对象的不同参数集合

    如下,我们已经有了一个从Contact类继承过来的Friend类 class ContactList(list): def search(self, name): '''Return all cont ...

  10. label与input之间的对应

    实现点击文字对应的框可以被选中,再点击一下文字框又取消选中 label的for属性与input的id属性值对应,即可实现.