js回掉函数取不到action字段的问题
来源:互联网 发布:java 适配器模式 编辑:程序博客网 时间:2024/06/02 02:31
一、问题描述
js与action之间传值出现问题。在struts2的action中成功拿到service层的数据,但是将值传入jsp时出现问题。
action中字段:
@Autowiredprivate User user;有getter,setter方法。
js代码如下:
<script type="text/javascript"> $().ready(function(){ $(":button").click(function () { $.post("User_select",{ result:"hahahaha" },function(data){// result = eval("(" + data + ")").result; alert(data.user.name); }); }); }); </script>
Cannot read property 'name' of undefined
二、解决步骤
1.一头雾水的错误。
首先检查了在action中能成功打印user.name
然后检查了struts.xml文件,其中extends和result type的配置也没有错误。
<package name="user" namespace="/" extends="json-default"> <action name="User_*" class="userAction" method="{1}"> <result type="json"></result> <!--<result name="paramInject">test1.jsp</result>--> </action> </package>js代码块只是一个简单的函数,也没有语法错误,并能成功访问action。
那逻辑上是没有问题的,只是不懂味什么前端取不到action的值。
2.考虑会不会是因为spring注解生成的实例和struts生成的成员属性的实例不是同一个,所以取不到成员属性的值。
将@Autowired注解注释掉,就成功获得了action中的值。
3.回想起前两天进行struts2和spring的整合后,后台传值都没有问题,只有jsp无法使用jstl表达式获取action中的成员属性。会不会也是因为@Autowired的问题。
去掉@Autowired注解后,使用${user.name}就能通过getter,setter方法获得action中的值了。
4.只是@Autowired的问题吗?
将spring的ApplicationContext.xml文件中手动配置action的bean和其中的property子节点
<bean id="user" class="cn.chan.entity.User"></bean> <bean id="userAction" class="cn.chan.action.UserAction" scope="prototype"> <property name="model" ref="user"></property> </bean>这样同样会使jsp取不到action中的值。
5.结论:在使用spring依赖注入的时候创建的实例,会和sturts2底层创建成员属性实例冲突。两者创建的不是同一个实例,因此jsp无法拿到正确的action中成员属性的实例对象。切记在action中和前端进行参数传递的时候不要将相应的字段使用spring的依赖注入。如何解决这一问题的方法目前还没找到,了解后再记录。
- js回掉函数取不到action字段的问题
- List<Object>集合按照Object的某个字段排序,解决取不到父类字段问题
- 关于struts1.x中Action使用request.getParameter(param)取不到url的参数问题
- js取不到input的值
- struts2 action pojo类取不到数据的解决
- action中取不到jsp传来的值
- FormsAuthenticationTicket的UserData取不到的问题
- 关于js中post方法遇到的同步问题(取不到json里的数据)
- dropdownlist取不到值的问题!!
- Android 取不到EditText中值的问题
- Filter过滤器,取不到值的问题!
- onActivityResult 取不到返回值的问题
- session取不到值的问题
- <C语言>关于函数返回值是指针,取不到值的问题研究
- js document.getElementIdBy 取不到值的一种可能 onLoad
- 为什么用JS取不到cookie的值?解决方法如下!
- action中获取不到<s:param >的问题
- SSH问题之jsp跳转不到相应的action上
- angular.js里的ng-show,ng-hide与ng-if的区别
- Machine Learning Notes II
- Spring概念,底层原理,实例化三种方式
- 通过字节码深入分析java的枚举类型enum
- 使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题
- js回掉函数取不到action字段的问题
- centos6.4下CDH5.7.1集群的安装
- Java基础复习之StringBuffer和StringBuilder简要记录
- 【项目管理和构建】——Maven简介(二)
- ConcurrentHashMap的size操作
- C8051F环境搭建
- Vue源码解析(一)
- 菱形继承
- spring+memcached+mybatis整合,memcached使用main函数可以保存自定义对象,使用spring管理memcached配置后无法保存