当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

ext ajax与struts传json对象 实例

发表于: 2012-09-20   作者:blackproof   来源:转载   浏览次数:
摘要: ext ajax json与struts实例        ext的javascript代码:   //提交修改 function submitUpdate(grid,colIndex,rowIndex,id){ //后台semanticsBean var sentence = Ext.getCmp('updateSente
ext ajax json与struts实例 

 

    ext的javascript代码:

 

//提交修改
	function submitUpdate(grid,colIndex,rowIndex,id){
		//后台semanticsBean
		var sentence = Ext.getCmp('updateSentence').getValue();
		var template = Ext.getCmp('updateTemplatesql').getValue();
		var tableids = Ext.getCmp('updateTableids').getValue();
		var jsonBean = {
			'bean.id' : id,
			'bean.sentence' : sentence,
			'bean.template' : template,
			'bean.tableids' : tableids
		}
		var bean = {id:id,sentence:sentence,template:template,tableids:tableids};
		Ext.Ajax.request({
			url:'./modifySemantics',
			params:jsonBean,
			success:function(r,o){
				reRenderTable(grid,colIndex,rowIndex,bean);
			},
			failure:function(){
				Ext.Msg.alert("更新有误","更新有误,当前数据过旧,请刷新重试");
			}
		});
	}

 

 

struts配置文件:

 

<!-- 更新语义库记录 -->
<action name="modifySemantics" class="com.xxxx.vbap.nl.action.NLManageAction" method="updateSemanticsList">
</action>

 

 

strut java代码:

 

   类中属性

	 // 前台传输实体bean
	private SemanticsSqlTemp bean = new SemanticsSqlTemp();

 

 

public String updateSemanticsList(){
		try{
			if(this.bean == null || this.bean.getId() == 0){
				logger.error("更新语义库sql模板报错,传输数据缺少ID");
				return Action.NONE;
			}
			ArrayList<Object> keyvalueList = new ArrayList<Object>();
			ArrayList<Class<?>> classtypeList = new ArrayList<Class<?>>();
			bean.setUpdateData(keyvalueList, classtypeList);
			String sql = "update sql_template_set set sentence = ?,templatesql = ?,tableids = ? where id = ?";
			NLSqlAnalysis.updateByID(sql, bean, keyvalueList, classtypeList);
			return Action.NONE;
		}catch (Exception e) {
			logger.error("更新语义库sql模板报错",e);
			return Action.ERROR;
		}
	}

 这样就可以让struts接收json对象

 

 

再附上一个解析传回的json对象代码

 

function showSemanticsList(type,renderDivID)
	{
		//var showradio = Ext.getCmp("showRadioGroup"); 
		//var showtype = getRadioInputValue(showradio);//获取数据标志
		Ext.Ajax.request({
			url:'./showSemantics',
			params:{
				showType:type
			},
			success : function(r,o){
				var re = Ext.decode(r.responseText);
				if(re.length>0)
					showSemanticsData(type,re,renderDivID);//TODO:
				else{
					document.getElementById(renderDivID).innerHTML = "";
					Ext.Msg.alert("无所选数据");
				}
			},
			failure : function(){
				Ext.Msg.alert("语义库查询有误","语义库查询有误");
			}
		});
	}

 

 在js中解析json对象:

 

 

function showItem(grid,colIndex,rowIndex){
		var id = rowIndex.data.id;
		Ext.Ajax.request({
			url:'./getSemantics',
			params:{id:id},
			success:function(r,o){
				var re = Ext.decode(r.responseText);
				showItemEditPage(2,grid,colIndex,rowIndex,re);
			},
			failure:function(){Ext.Msg.alert("语义查询有误","语义查询有误");}
		});
	}

 

 

 

 

ext ajax与struts传json对象 实例

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
先热热身!看看简单的json,格式吧: package acc.testJSON; import org.json.JSONArray; import org.
JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象; 由JSON格
【原】基础篇:第四篇,Ext中有两个很重要的方法,一个是decode;一个是encode. 在述说这个例子之前,我
【原】基础篇:第四篇,Ext中有两个很重要的方法,一个是decode;一个是encode. 在述说这个例子之前,我
页面内容如下: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncodin
第一种方法: 项目当中我希望把一个对象方便的封装成JSON对象,当然需要导入相关Jar 包 json-lib-2.2.
  Json这个东西很神奇,大家都知道。通过网络传递信息时,字符(串)是很好的选择,我们在客户和
AJAX 入门视频之 Ext 2.0.1 Grid 增删改 & DWR 1 实例 说实话, 我也是特别懒的人, 很早就想看看 Ext
1. 目标 目标使用 AJAX 实现如下效果: 当填入用户名的时候,光标移开进行 AJAX 验证,如果已经被注
http://blog.csdn.net/abing37/archive/2009/12/01/4916751.aspx 1. 目标 目标使用 AJAX 实现如下效
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号