zoukankan      html  css  js  c++  java
  • 将数据以json字符串格式传到前台请求页面

    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;
      }
      }

      

  • 相关阅读:
    【译】在 Chrome 开发者工具中调试 node.js
    2015 年 JavaScript 开发者调查报告
    [译]PostCSS介绍
    [译] Angular 2 VS. React: 血色将至
    使用Fidder将生成环境代码映射到本地(文件夹)
    Sublime Text 3 搭建 React.js 开发环境
    用HTML5+JS开发跨平台的桌面应用
    npm WARN unmet dependency错误解决方法
    【数据结构与算法】线性表操作(C语言)
    【数据结构学习笔记】数组
  • 原文地址:https://www.cnblogs.com/xyzq/p/6065048.html
Copyright © 2011-2022 走看看