-
struts2.1.8 +jquery easy ui,datagird的不到数据5
环境struts2.1.8,用自带的那个struts2-json-plugin-2.1.8.1.jar,jso页面调试时发现可以得到action里的json对象,但就是jquery easy ui的datagird 里通过url访问都没执行action,直接跳到input 对应的页面,设了s:fielderror查看了下,说返回的rows没值,验证错误,怎么回事,jsp里没有输入啊
action代码@Controller // 声明此类为控制层的类,且为prototype模式调用 @Scope("prototype") @ParentPackage("json-default") @Results( { @Result(name = "success",type = "json"), @Result(name = "input",location = "/product/productUnitManage.jsp") }) public class ProdUnitAction extends ActionSupport { private static final long serialVersionUID = -6595716080263610502L; private ScmProdUnit scmProdUnit ; private List<ScmProdUnit> rows =new ArrayList<ScmProdUnit>();; private int page; private int total; @Resource private ProdUnitService prodUnitService; public String save() throws Exception { this.prodUnitService.save(this.scmProdUnit); return "save"; } public String update() throws Exception { this.prodUnitService.update(this.scmProdUnit); return "update"; } public String delete() throws Exception { this.prodUnitService.delete(scmProdUnit); return "delete"; } public String querybyID() throws Exception { scmProdUnit = prodUnitService.findById(ScmProdUnit.class, scmProdUnit .getId()); return "item"; } //@Action(value="querybyBuilde",results={@Result(type="json",name="success")}) public String querybyBuilde() throws Exception { System.err.println("111111"); StringBuffer sql = new StringBuffer(); sql.append("from ScmProdUnit where 1=1 "); this.setRows(prodUnitService.findByConsion(sql.toString())); // this.setTotal(rows.size()); System.err.println("2222222"); return SUCCESS; } @JSON(serialize = false) public ScmProdUnit getScmProdUnit() { return scmProdUnit; } public void setScmProdUnit(ScmProdUnit scmProdUnit) { this.scmProdUnit = scmProdUnit; } public List<ScmProdUnit> getRows() { return rows; } public void setRows(List<ScmProdUnit> rows) { this.rows = rows; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } }
jsp页面代码<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <!-- <link rel="stylesheet" type="text/css" href="../_main.css" />--> <link rel="stylesheet" type="text/css" href="../js/themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="../js/themes/icon.css"> <script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="../js/jquery.easyui.min.js"></script> <script type="text/javascript" src="../js/locale/easyui-lang-zh_CN.js"></script> <script> $(function(){ $('#datalist').datagrid({ title:'单位列表', iconCls:'icon-ok', nowrap: false, //是否只显示一行,即文本过多是否省略部分。 striped: true, //隔行变色 singleSelect:true, url:'prod-unit!querybyBuilde.action', pagination:true, rownumbers: true, loadMsg:'数据加载中请稍后……', columns:[[ {field:'itemid',checkbox:true}, {field:'code',title:'单位编码',width:$(this).width()*0.4,align:'center'}, {field:'name',title:'单位名称',width:$(this).width()*0.6,align:'center'} ]], toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function() { alert('添加数据') } }, '-', { text: '保存', iconCls: 'icon-save', handler: function() { alert('保存数据') } }] }); }); function getjsontest() { $.post("prod-unit!querybyBuilde.action", { },function(returnData,status) { if("success" == status) { alert("11111"); //var dataa= eval('('+returnData+')'); //alert(returnData.length); alert(returnData); } },"json" ); } </script> </head> <body> <form id="myForm" method="post"> <fieldset> <legend> test </legend> <table width="100%" border="0" cellpadding="1" cellspacing="4" class="tableStyle"> <tr align="center"> <td > <input name="btnQuery" type="button" onClick="getjsontest()" class="button" value="查 询"> </td> </tr> </table> </fieldset> <table id="datalist"></table> <div id="result"></div> <div style="color:red"> <s:fielderror /> </div> </form> </body> </html>
jsp页面执行查询按钮,firebug里可以看到action返回数据
{"code":null,"name":null,"page":0,"rows":[{"code":"xiang","id":1,"name":"箱","remark":null},{"code":"ping","id":2,"name":"瓶","remark":null},{"code":"he","id":3,"name":"盒","remark":null}],"total":0}
但刚载入页面的时候,
$(function(){
$('#datalist').datagrid({.....里这一段,url里设定的地址根本就没执行到action里面的方法,
<div style="color:red">
<s:fielderror />
</div>
调试时说 Invalid field value for field rows,action方法没执行当然为空了,它直接转到result里的input了。现在纳闷就是为什么会转,我jsp里只是显示一个datagrid,别的什么也没有啊,本来以为js有问题,瞅半天也没发现啊,什么原因啊???????
又试了试,发现action继承了actionSuppoet后有上面问题,去掉actionSuppoet就可以了,估计是actionSuppoet里校验出了问题,easyui的datagrid传给action的rows是int类型,但action定义了成了list,所以报类型转换错误,可这个grid插件得到返回的rows数据类型是json对象里的list,一种解决办法去掉变量rows,直接jsonObject里吧list给"rows"这个key,但我不想这样做,那应该怎么改啊?2010年11月04日 22:08
目前还没有答案
相关推荐
总结来说,"struts2.1.8+json+jquery"的组合展示了如何在Java Web开发中利用Struts2处理业务逻辑和HTTP请求,通过JSON高效地传输数据,以及利用JQuery在前端实现动态页面效果。这种技术栈可以提高开发效率,简化前后...
在这个项目中,`struts2.1.8+json+jquery1.3实现ajax`,开发者可能做以下步骤: 1. 配置Struts2:首先,需要在Struts2的配置文件(struts.xml)中配置Action,指定返回JSON类型的结果。这通常通过在Action类的方法上...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
Struts2.1.8+Felix1.4+hibernate集成源码,内部是自己通过查资料以及编写部分中间件host-register完成Hibernate3.1.3,Struts2.1.8,felix-1.4的集成。该部分的说明会在博文中说明,敬请关注,大家共同进步。
spring3.0+struts2.1.8+hibernate3.2完整jar包 ,保证非常全,放心下载使用。请使用struts2.1.8,如果你已经在学习2.1.6版本,并且遇到类似xwork的异常,导致tomcat无法正常启动,可将struts2.1.8和xwork2.1.6两个包...
JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...
Struts2.1.8+Spring2.5.6+Hibernate3.3.2是经典的Java Web开发框架组合,常被称为SSH。这三个框架协同工作,为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得企业级应用的开发更加高效和模块化。 Struts...
struts2.1.8 + spring2.5.6(支持注解开发Annotations) + hibernate3.3.2(支持注解开发Annotations) + mysql-connector-java-5.1.7-bin.jar 精简完整版,测试可用
Struts2.1.8+Hibernate3.3+Spring3.0是经典的Java Web开发框架组合,也被称为SSH(Struts2、Spring、Hibernate)。这个环境的搭建涉及到多个步骤,涵盖了MVC(Model-View-Controller)框架、持久化框架和依赖注入...
在这个"struts2.1.8+hibernate3.1(零配置)增删改查"的案例中,我们将深入探讨如何在不编写大量XML配置文件的情况下,通过Struts2的零配置特性与Hibernate的数据持久化能力进行集成,以实现对数据库的基本操作。...
Struts2.1.8与Spring2.5.6是两个经典的Java企业级开发框架,它们在J2EE(Java 2 Platform, Enterprise Edition)应用中扮演着重要的角色。Struts2是一个强大的MVC(Model-View-Controller)框架,而Spring则是一个...
struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记的最终版本,整合过程见于:http://blog.csdn.net/phoenixdsf/article/details/7645655
标题中的"spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)"指的是一个集成开发环境,它包含了三个关键的Java Web框架:Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2。这些框架在Java应用开发中扮演着重要的角色,尤其...
Struts2.1.8是Struts2的一个版本,它可能包含了一些特定的功能或修复了某些已知问题。 Spring框架是一个全面的后端解决方案,包括IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向...
以上是关于"struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合"的主要知识点,整合过程涉及到多个层次的配置和调优,对于开发者来说,理解这些框架的核心原理和整合机制至关重要。在实际项目中,根据具体需求选择...
在Struts2.1.8版本中,它引入了拦截器(Interceptor)机制,使得请求处理更加灵活和可扩展。通过配置struts.xml,我们可以定义Action类,指定其执行的方法,并设置拦截器链来处理请求前后的逻辑。 Spring 2.5.6作为...
总结起来,这个"struts2.1.8+hibernate3.6.1+spring2.5.6"整合包为Java Web开发者提供了一套成熟的开发环境,帮助他们快速搭建基于MVC、ORM和DI/AOP的项目,减少了集成不同框架时的复杂度,促进了代码的整洁性和可...
Struts2.1.8+Hibernate3.3+Spring3.0整合是一个常见的Java企业级应用开发模式,这种集成框架的使用旨在优化后端服务,提高开发效率,并提供灵活的数据持久化解决方案。以下是对这个集成知识点的详细说明: **Struts...
在"struts2.1.8+spring2.5.6+hibernate3.3.2整合项目开发"中,首先我们需要理解这三个框架的基本概念和用法: 1. **Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,用于构建可维护性和可扩展性高的应用...