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("语义查询有误","语义查询有误");} }); }
相关推荐
6. **AJAX通信**:Ext JS 使用 AJAX 技术与服务器进行异步通信,Struts2 的 JSON 插件则负责接收这些请求并返回 JSON 数据。这种通信方式提高了用户体验,因为页面无需刷新即可完成数据的获取和更新。 7. **安全与...
总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...
在这个实例中,我们的目标是让ExtJS客户端与Struts服务器端进行通信,传递一个JSON格式的list对象。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...
在这个实例中,Struts2可以将Java对象转换为JSON格式,然后发送给前端的JavaScript代码,用于验证用户登录信息。 在项目的配置部分,`web.xml`文件定义了Web应用程序的部署描述符,包括过滤器和过滤器映射。这里...
- 在Struts2中,可以使用JSON插件或直接在Action中返回JSON结果,使服务器能够以JSON格式发送数据给客户端,这对于AJAX请求特别有用,比如在这个登录场景中,可以无刷新地更新用户界面。 总结,这个例子展示了如何...
综上所述,"struts2+spring2.5+jdbc+ext+json实例用到的lib包" 提供了构建一个完整的 Java Web 应用程序所需的核心库。Struts2 负责控制流程,Spring 2.5 实现依赖注入和数据访问,JDBC 处理数据库交互,Ext 创建...
5. **JSON 数据交互**:Ext JS 使用 JSON 数据格式与服务器进行通信,因此 Struts2 需要支持 JSON 输出,可以通过插件如 Struts2-json-plugin 来实现。 6. **错误处理**:确保在前后端都有适当的错误处理机制,以便...
6. **建立Ajax请求**:使用Ext.Ajax或Ext.data.Store的load方法发起请求,获取服务器端的JSON数据。 7. **解析并渲染数据**:ExtJS接收到JSON数据后,自动将其映射到Store,进而更新与其关联的UI组件。 通过这样的...
3. 在EXT的前端代码中,创建一个TreePanel实例,配置store,设置其proxy为Ajax类型,指定URL为Struts2 Action的地址。 4. TreePanel的store会在初始化时或在特定事件触发时发送请求到服务器,获取JSON数据。 5. ...
这个实例结合了Struts2后端框架与ExtJS前端库,实现了基本的数据操作功能——增、删、改、查,这在Web应用开发中是非常基础且重要的。 在Struts2框架中,核心概念包括Action、Result和Interceptor。Action是业务...
4. **创建Extjs页面**:编写HTML/JavaScript代码,使用ExtJs库构建UI组件,通过Ajax请求与Struts2 Action通信,获取并展示由服务器返回的JSON数据。 三、运行与理解 整合后的应用可以通过浏览器运行,前端的Extjs...
EXT2.1的JSON支持使得前后端数据交换更加高效,因为JSON是一种轻量级的数据交换格式,能够快速解析和序列化,适合于Ajax通信。 Struts2是一个基于MVC设计模式的Action框架,它继承了Struts1的优点并解决了其不足,...
用EXT+struts2+spring+hibernate做的一个增删改查实例,主要用到了EXTjs里面的部分组件,用JSON与服务端交互,实现一个增删改查的功能!本地MYsql数据库,sql文件在根目录下面,建好库既可以运行!当然,还是需要在...
5. **文档阅读**:提供的"struts2与ext如何整合.doc"文档应包含了详细的整合步骤和注意事项,包括可能出现的问题及解决方案,这对于开发者来说是一份宝贵的参考资料。 6. **工程实例**:"Struts2_ExtJS"可能是实际...
这部分代码通常位于Struts2的Action类中,负责接收前端传来的参数(比如分页信息),处理业务逻辑,并将处理结果以JSON格式返回。 ```java public class UserAction extends ActionSupport { private static final...
5. 编写Ajax请求,例如使用Ext.Ajax.request方法,发送POST或GET请求到对应的Struts Action URL,传递必要的参数。 在Struts的配置文件中,我们需要定义Action的映射,指定请求路径和Action类,以及结果视图。例如...
在本文中,我们将深入探讨如何使用ExtJS框架的Tree组件,结合JSON数据格式以及Struts 2框架,来实现Ajax动态加载树形结构的节点。这是一项常见的需求,特别是在构建可扩展、用户友好的Web应用时,动态加载的树结构...
这个"struts2+ext例子"可能是一个示例项目,展示了如何将Struts2后端与ExtJS前端相结合,以实现一个完整的Web应用。在Struts2中,Action是处理请求的核心,它接收来自用户的HTTP请求,执行业务逻辑,并返回相应的...
我们一般会使用遵循MVC设计模式的Struts来规范程序结构,使用优秀的ORM组件Hibernate来简化数据库访问操作,使用系统黏合剂Spring来提高开发效率,使用异步访问的Ajax来提高用户体验。而今天我们要做的一个demo是一...
在本例中,Struts2将与ExtJS交互,接收前端的Ajax请求,调用后端服务,执行CRUD操作,并将结果以JSON或其他格式返回给前端。Struts2的拦截器机制也使得我们可以方便地添加自定义的业务逻辑或验证规则。 最后,ExtJS...