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. 再谈 javascript 数组去重

    前言 数组去重方法老生常谈,既然是常谈,我也来谈谈 双层循环 也许我们首先想到的是使用 indexOf 来循环判断一遍,但在这个方法之前,让我们先看看最原始的方法: var array = [1,1, ...

  2. ElasticSearch6.5.0【Java客户端之TransportClient】

    说明 TransportClient:网上流传最多的客户端,目前最新版本 Java REST Client:官方推荐的客户端, 官方:我们要在Elasticsearch 7.0的版本中不赞成使用Tra ...

  3. (最小生成树 并查集)P1111 修复公路 洛谷

    题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...

  4. Cookie隐藏小广告

    方式一:在close.php页面上设置COOKIE, colse.php页面 <?php setcookie('hide','1'); header('Location: indes.php') ...

  5. 深入理解之css中的border属性

    1. border-width:不支持不百分比 1)受本身的使用场景决定. 例子:左边为手机,右边为显示器,但是他们边框的宽度是差不多的,不会因为设备大就让边框宽度变大. 2. border-widt ...

  6. java中将string类型转int类型或者将string类型转long类型方法

    将字串 String 转换成整数 int 两种方法: 1).int i = Integer.parseInt("111"); 或 i = Integer.parseInt([Str ...

  7. Go 的构建模式

    Go 的八种 Build Mode exe (静态编译) exe (动态链接 libc) exe (动态链接 libc 和非 Go 代码) pie 地址无关可执行文件(安全特性) c-archive  ...

  8. go tail

    安装导入 go get github.com/hpcloud/tail import "github.com/hpcloud/tail" 使用 package main impor ...

  9. svn 基础

    安装,略过. 快速创建.配置及启动项目 创建项目 svnadmin create /home/svn/project_name #创建名为project_name的项目(/home/svn为自定义创建 ...

  10. nGrinder TestRunnerBarrier.groovy / jihedian

    s import net.grinder.script.Barrier import net.grinder.script.GTest import net.grinder.scriptengine. ...