`
y806839048
  • 浏览: 1120618 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ajax前后台上下文

阅读更多
========后台到前台就是一个标准的String json串,真正到了前台变成对象会对象数组===========

public String queryCutOverOrderById() {
  String id=model.getId();
  CutOverOrder a =new CutOverOrder();
      List<CutOverOrder> tr = new ArrayList<CutOverOrder>();
      tr =this.getService().queryCutOverOrderById(id);
      if(tr.size()>0){
a=tr.get(0) ;
JsonConfig config = new JsonConfig();
config.setExcludes(new String[]{"processLogs"});

String json = JSONArray.fromObject(a, config).toString();
  HttpServletResponse response =  ServletActionContext.getResponse();;
response.setCharacterEncoding("utf-8");
  //ServletOutputStream out = null;
  BufferedWriter write=null;
try
        {
write = new BufferedWriter(new OutputStreamWriter(response
.getOutputStream(), "UTF-8"));
write.write(json);
        // out = response.getOutputStream();
          //  out.write(json.getBytes());
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
        try {
        //out.flush();
//out.close();
        write.flush();
        write.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        }
        return null;
       
      } else{
        return null;
      }
 
 
  }


前台:

$.ajax({
        type:'post',
        url:url,
        async:false,
        data:null,
        dataType:'json',
        success:function(data){
    var a = eval(data);
   
        if(data){
   for(var i=0;i<a.length;i++){
   s[i]=a[i].stage;
   t[i]=a[i].recordTime;
   inc[i]=a.cnName;
           }
}
        },
        error:function(){
            //$.message("失败");
        }
});



前台到后台:
  $.ajax({
            type:'post',
            url:'<%=csgui%>',
            data:'dataArraySave='+JSON.stringify(dataArraySave),
            dataType:'json',
            success:function(data){
            $.message("成功");
        $("#list2").grid('reload');
            },
            error:function(){
            $.message("失败");
                }
           
           
            });


@Transactional
  public void  getJson() {
  HttpServletRequest request = ServletActionContext.getRequest();
  String dataArraySave = request.getParameter("dataArraySave");
  String[] a = JsonUtil.jsonStrToStringArray(dataArraySave);
  Params[] b= (Params[]) JsonUtil.jsonStrToArray(dataArraySave, Params.class);
  List<Params> c = new ArrayList<Params>();
  for(int i=0;i<b.length;i++){
  c.add(b[i]);
  }
  this.getService().saveParams(c);
 
  }

===============前台到后台可能会传一个list<object>,list<string[]这时要将他们转化为Sting作为参数传到后台>============
另一种:
String ui= request.getContextPath() + "/interface-cnfig!intesvae.json?smal=";

function getj(){

var ids = [];
var dataArraySave = [], json = "";
var sel = $("#list2").grid("option","selarrrow");

ids=$("#list2").grid( "getDataIDs");
    
    
    $.each(sel, function(i){
    dataArraySave.push($("#list2").grid("getRowData", sel[i]));
    });
    textvar = JSON.stringify(dataArraySave);
      return textvar;
}
//这一步将list的记录(每一条一个json)转化为大的json数组
//[{"id":"3","csbs":" 666","csmc":" 666","cslx":" 666"},//{"id":"2","csbs":"66","csmc":" 66","cslx":" 66"},//{"id":"1","csbs":" //6","csmc":" 6","cslx":" 6"}]

function f_new() {
// window.execScript( 'window.varText='+""+';');        
var uu='<%=ui%>';
//alert(uu);

$("#search-form").dialog({
autoOpen : false,
height : 'auto',
width : 700,
modal : true,
buttons : {
"保存" : function() {
var a= getj();

var uui=uu + a;

//alert(uui);

//$("#form11").form("submit");
if ($("#form11").form("valid")) {
$.ajax({
type : 'post',
url : uui,
data : $("#form11").form("formData", false),
dataType : 'json',
success : function(data) {
$.message("操作成功!"+data.id);
$('#list1').grid('reload');
},
error : function() {
$.message("操作失败!");
}
});
} else {
$.alert("未通过页面校验!")
}



},
"关闭" : function() {
$(this).dialog("close");
}
}
});




public String intesvae() {
String id="";
  HttpServletRequest request = ServletActionContext.getRequest();
  id =this.getService().saveIntcfg(model);
  String a = request.getParameter("smal");
  if(a!=""||a!="["+"]"){
  Params[] b= (Params[]) JsonUtil.jsonStrToArray(a, Params.class);
  List<Params> c = new ArrayList<Params>();
  for(int i=0;i<b.length;i++){
  b[i].setJkid(id);
  c.add(b[i]);
  }
  this.getService().saveParams(c);
  }
return id;
}


================保存对应的form=========
<div id="search-form" title="接口添加界面" style="display: none" >
<cui:form id="form11" name="form" action="<%=ui %>">
<table height="100%">
<tr style="vertical-align: top; height:45px" >
<td style="text-align: left; padding-left: 10px;" height="15">
<div style="float: left;padding-top: 8px;"><label>&nbsp;接口名称:</label></div>
<div style="float: left;padding-top: 8px;"><cui:input id="interfacename"
name="interfacename" placeholder="接口名称" value="" width="200" /></div>
<div style="float: left;padding-top: 8px;"><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据类型:</label></div>
<div style="float: left;padding-top: 8px;"><cui:combobox id="datatype"
name="datatype"   width="200" value="" emptyText="请选择"
data="combo_data"></cui:combobox></div>
</td>
</tr>
<tr style="vertical-align: top; height:45px">
<td style="text-align: left; padding-left: 10px;">
<div style="float: left;padding-top: 8px;"><label>&nbsp;接口地址:</label></div>
<div style="float: left;padding-top: 8px;"><cui:input id="interfaceadrss"
name="interfaceadrss" value="" width="200" /></div>
<div style="float: left;padding-top: 8px;"><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接口类型:</label></div>
<div style="float: left;padding-top: 8px;"><cui:combobox id="interfacetype"
name="interfacetype"   width="200" value=""
emptyText="请选择" data="combo_data_interface"></cui:combobox></div>
</td>
</tr>
<tr style="vertical-align: top; height:45px">
<td style="text-align: left; padding-left: 10px;">
<div style="float:left;"><label>&nbsp;接口厂商:</label>
<!--<cui:combobox
id="getway" name="getway" required="true" width="200" value=""
emptyText="请选择" data="combo_data_get"></cui:combobox>
-->
<cui:input
id="interfacefac" name="interfacefac" placeholder="接口厂商" value="" width="200" />
</div>

<div style="float:left;padding-top: 8px;"><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户认证:</label> <cui:input
id="confirm" name="confirm" placeholder="用户认证" value="" width="200" /></div>
</td>
</tr>
<tr style="vertical-align: top" id="param">
<td>
<div style="float:left;padding-top: 8px;"><label>&nbsp;&nbsp;&nbsp;是否同步:</label>
</div>
<div style="float:left;padding-top: 8px;">
<cui:radiolist id="sftb" column="4"
name="sftb" value="none" data="radiolistdata" >
</cui:radiolist>
</div>
               
</td>

</tr>
<tr style="vertical-align: top" id="param">
<td style="text-align: right; padding-left: 10px;" >
<div style="float:left;"><label>&nbsp;参数类型:</label> </div>
</td>

</tr>

<tr>
<td style="float:left;">
<div style="float:left;">
<input type="button"  class='btnview coral-btn-blue' id="add" value="添加行"></input>
</div>
</td>
<td style="float:left;">
<div style="float:left;">
</div>
<div style="float:left;"><input type="button" class='btnview coral-btn-blue' id="edite" value="编辑行"></input></div>
<div style="float:left;">
<input type="button" class='btnview coral-btn-blue' id="saveEdite" value="保存编辑"></input>
</div>
</td>
</tr>
<tr>
<td colspan="4">
<cui:grid id="list2" onComplete="gridoncomplete" datatype="local" multiselect="true">
<cui:gridCols>
<cui:gridCol name="id" hidden="false" editable="true" align="center" width="80">序号</cui:gridCol>
<cui:gridCol name="csbs"  editable="true" align="center" width="160">参数标识</cui:gridCol>
<cui:gridCol name="csmc"  editable="true" align="center" width="160">参数名称</cui:gridCol>
<cui:gridCol name="cslx"  editable="true" align="center" width="160">参数类型</cui:gridCol>
<!--<cui:gridCol name="cz"  editable="true" align="center" width="120">操作</cui:gridCol>
--></cui:gridCols>
<cui:gridPager gridId="list2" />
</cui:grid>
<!--<cui:grid id="list2" datatype="local" multiselect="true" rownumbers="true">
<cui:gridCols>
<cui:gridCol name="id" editable="true" hidden="true" width="100">id</cui:gridCol>
<cui:gridCol name="name" editable="true" width="80">员工帐号</cui:gridCol>
<cui:gridCol name="src" editable="true" width="80">图片路径</cui:gridCol>
<cui:gridCol name="age" editable="true" width="80">年龄</cui:gridCol>
<cui:gridCol name="createtime" editable="true" edittype="date" width="80">时间点1</cui:gridCol>
<cui:gridCol name="createtime1" editable="true" edittype="date" width="80">时间点2</cui:gridCol>
</cui:gridCols>
</cui:grid>
--></td>
</tr>

</table>
</cui:form>
</div>
分享到:
评论

相关推荐

    动态菜单-Ajax实现

    动态菜单在Web应用中是一种常见的设计模式,它能够根据用户权限、上下文或者特定条件实时更新菜单项。在这个实例中,我们重点讨论如何利用Ajax(异步JavaScript和XML)技术来实现这一功能。Ajax允许我们在不刷新整个...

    ssm-crud(maven boostrap jquery ajax ssm )模板

    **Spring** 是一个全面的后端应用程序框架,它提供了依赖注入(DI)、面向切面编程(AOP)以及丰富的应用程序上下文,便于管理对象和事务。在SSM CRUD模板中,Spring主要负责整个系统的组件装配和生命周期管理。 **...

    PHP登录(ajax提交数据和后台校验)实例分享

    需要注意的是,示例代码中并未提供PHP后台框架的相关上下文代码,如`PublicController`类及其`ip_address`方法、`M`模型、`$this-&gt;login`方法以及整个框架的路由配置。这些通常是运行示例代码的预设条件。在实际开发...

    仿goolge文本框查询

    【List】在上下文中可能指的是返回的搜索结果以列表的形式展示。这种列表通常包含匹配的关键词项,用户可以通过点击列表中的项来完成搜索或查看详情。列表设计应当清晰、简洁,以便用户快速浏览和选择。 【JSON】...

    bootstrap后台页面模板

    20180130191325d39FgEi1Rn37874 这个文件名可能是模板的版本标识或者是创建日期,具体含义需根据上下文判断。通常,模板的压缩包中会包含 HTML 文件、CSS 文件、JavaScript 文件以及可能的图片资源。解压后,开发者...

    解决前后端分离 vue+springboot 跨域 session+cookie失效问题

    2. **设置Session域**:确保Spring Boot应用服务器返回的Set-Cookie响应头中的Path和Domain属性设置正确,以便浏览器在正确的上下文中存储Session ID。 3. **代理服务器**:使用Nginx或其他反向代理服务器,让Vue...

    ajax同步验证单号是否存在的方法

    parcelsWhetherExists.do"`,其中`${ctx}`代表项目上下文路径。接口名称`"parcelsWhetherExists.do"`表示这是一个用于检查包裹单号是否存在的服务。 `type`属性指定了AJAX请求的HTTP方法,这里使用的是`'post'`,...

    springboot+vue编写的在线论坛博客系统

    而“ssm574xx”可能是某个文件的一部分,由于名称不完整,无法确定具体内容,但根据上下文推测可能与SSM框架的配置或代码有关。 综上所述,这个项目涵盖了Spring Boot后端开发、Vue.js前端构建、前后端分离的架构...

    dwr.rar_dwr jar_dwr j_dwr jar_dwr.j_dwr.jar2

    `CallContext`则保存了请求的上下文信息;而`ReverseAjax`接口实现了服务器向客户端推送数据的功能,这是DWR区别于传统AJAX的一大特点。 DWR的工作原理可以简单概括为以下几个步骤: 1. **配置**:在服务器端,...

    Seam入门

    - **Stateless context(无状态上下文)**:表示一个短暂的上下文,通常用于一次性的操作。 - **Event context(事件上下文)**:用于处理特定的事件,如用户点击按钮等。 - **Page context(页面上下文)**:与特定...

    layui-后台模板jump-server.zip

    结合上下文,我们可以推测"jump-server"可能是一个包含了处理页面跳转逻辑的服务端部分,或者是提供接口给layui前端模板调用的后端服务。 在这个项目中,你可以期待学习到以下知识点: 1. layui的使用:如何在HTML...

    Extjs结合Struts版的简单书籍管理系统

    8. **部署与运行**:项目部署通常涉及Web服务器(如Tomcat)的配置,以及Web应用的上下文路径设置,确保前端页面和后端服务的正确通信。 9. **数据库操作**:虽然描述中没有提及,但一个书籍管理系统通常会涉及到...

    ASPNET+TreeView右键菜单可以与后台交互

    1. **JavaScript/jQuery处理**:在客户端,你可以使用jQuery的`contextmenu`事件来捕获右键点击,并创建一个自定义的上下文菜单。菜单项可以绑定到相应的操作函数,这些函数可以发送AJAX请求到服务器执行对应的任务...

    adminlet左侧导航提取,可后台获取生成菜单

    - **insdep**:这是一个未知的标签,可能是项目中使用的某种工具或框架,但具体信息需要更多的上下文才能确定。它可能是某种依赖注入框架,或者是用于构建、测试或部署的工具。 综上所述,这个项目涵盖了前端界面...

    ASPnet+Extjs+网站通用后台框架

    7. 状态管理:使用ASP.NET的状态管理机制(如Session、Cache等)来保存用户状态和应用上下文信息。 8. 错误处理和日志记录:集成错误处理机制,记录异常信息,便于调试和问题排查。 9. 整合部署:将所有资源打包成...

    ext前后台交互实例

    尽管后台代码片段同样未完整给出,但从上下文可以推断,后端部分很可能使用了Java语言,并且可能采用了Spring框架或者类似的MVC(Model-View-Controller)架构来处理HTTP请求。在接收到前端的请求后,后端会执行相应...

    JSF入门

    4. 应用上下文:存储全局信息,如用户会话状态。 5. 组件树:JSF将视图解析为一个组件树,每个组件都有自己的属性和事件处理。 三、JSF组件库 JSF提供了丰富的组件库,如h:inputText用于文本输入,h:commandButton...

    简单jsp聊天

    7. **会话管理**:为了保持用户的聊天上下文,需要使用session会话管理。每个用户登录后,服务器都会为其创建一个唯一的session ID,用于识别和跟踪用户,确保消息发送给正确的人。 8. **数据库存储**:聊天记录...

    html+js+php实现抽奖程序

    6. **文件`choujiang`**:未给出文件的具体内容,但根据上下文,这可能是PHP代码文件,包含处理抽奖逻辑的函数,如连接数据库、执行查询、生成随机结果等。 实现流程可能如下: 1. 用户在HTML页面上点击“开始抽奖...

Global site tag (gtag.js) - Google Analytics