struts2 ajax问题 本帖最后由 cyd_814 于 2009-10-30 15:35:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我遇到过同样的问题。我在dao里写一个main()测试时查询数据库时它就报空指针异常推测:需要依赖注入。 我已经在配置文件中注入了<bean id="MemberDAO" class="com.mdy.dao.MemberDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean><bean id="memService" class="com.mdy.service.MemService"> <property name="memberDAO"> <ref bean="MemberDAO" /> </property> </bean><bean id="ajaxBean" class="com.util.AjaxBean"> <property name="memService"> <ref bean="memService" /> </property> </bean> 以下是自动生成的:<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/db_eshop?characterEncoding=gbk"></property> <property name="username" value="root"></property> <property name="password" value="121212"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>com/mdy/po/Category.hbm.xml</value> <value>com/mdy/po/Member.hbm.xml</value> <value>com/mdy/po/Memberlevel.hbm.xml</value> <value>com/mdy/po/Admin.hbm.xml</value> <value>com/mdy/po/Orders.hbm.xml</value> <value>com/mdy/po/Merchandise.hbm.xml</value> <value>com/mdy/po/Leaveword.hbm.xml</value> <value>com/mdy/po/Cartselectedmer.hbm.xml</value> <value>com/mdy/po/Cart.hbm.xml</value></list> </property></bean> action中的service由spring管理,你的Bean中的service没注入。<bean id="ajaxBean" class="com.util.AjaxBean"> <property name="memService"> <ref bean="memService" /> </property> </bean> 除非你的Bean是通过spring.getBean("ajaxBean")方法来取的。不然,你上面的这个注入就相当于没写 这是我在脚本里写的function checkLoginName(){ var lname = document.all.loginName.value; if((lname!=null)&&(lname.length)>0) spring.getBean("ajaxBean").chkLoginName(lname,resultFun); }这样写对吗?可是结果还是不行!请教一下,谢谢! function resultFun(data) {alert(data);if (data=="false"){ alert('对不起,该登录帐号已被占用,请重新输入!'); document.all.loginName.focus(); }}还有这些,我用的是dwr框架 另外,我还使用new方法把memService对象new出来。也是不行。还有一点,在jsp里面 <script src='dwr/interface/ajaxBean.js'></script>通过dwr.xml把ajaxBean 类转换成了javascript可以使用的对象名字,好像我以上这么写肯定不对的!请问高手们都是怎么处理这种问题的,我想使用ajax,局部刷新比较好的! 看你的dwr配置文件。ajaxBean的生成方法改一下。<create creator="spring" javascript="ajaxBean"> <param name="beanName" value="memService"/></create> 应该是这个。晕啊<create creator="spring" javascript="ajaxBean"> <param name="beanName" value="ajaxBean"/> </create> 恩,想起来了,是这样的,刚还在想怎么把dwr.xml里的对象和spring的运用在一起,可以了!谢谢!! ssh,获得每次访问的action的具体类 Ext 未定义 ??? 关于webservice返回Documnet对象报空指针异常的问题 lucene菜鸟问题 mysql to many connections 在同一台机器上使用两种不同的JDK版本?谢谢了。 50分!!------一个JSP中的问题!!!!! 中间件方面技术网站初步建立,散分!! 讨论一下:阿菜的JSP论坛和CNJSP.COM 论坛的版权问题! ejb高手进来,一个entitybean +事务控制问题 Unable to compile class for JSP 该数据库该如何设计
我在dao里写一个main()测试时查询数据库时它就报空指针异常
推测:需要依赖注入。
<bean id="MemberDAO" class="com.mdy.dao.MemberDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="memService" class="com.mdy.service.MemService">
<property name="memberDAO">
<ref bean="MemberDAO" />
</property>
</bean>
<bean id="ajaxBean" class="com.util.AjaxBean">
<property name="memService">
<ref bean="memService" />
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/db_eshop?characterEncoding=gbk"></property>
<property name="username" value="root"></property>
<property name="password" value="121212"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/mdy/po/Category.hbm.xml</value>
<value>com/mdy/po/Member.hbm.xml</value>
<value>com/mdy/po/Memberlevel.hbm.xml</value>
<value>com/mdy/po/Admin.hbm.xml</value>
<value>com/mdy/po/Orders.hbm.xml</value>
<value>com/mdy/po/Merchandise.hbm.xml</value>
<value>com/mdy/po/Leaveword.hbm.xml</value>
<value>com/mdy/po/Cartselectedmer.hbm.xml</value>
<value>com/mdy/po/Cart.hbm.xml</value></list>
</property></bean>
<property name="memService">
<ref bean="memService" />
</property>
</bean> 除非你的Bean是通过spring.getBean("ajaxBean")方法来取的。不然,你上面的这个注入就相当于没写
function checkLoginName(){
var lname = document.all.loginName.value;
if((lname!=null)&&(lname.length)>0)
spring.getBean("ajaxBean").chkLoginName(lname,resultFun);
}
这样写对吗?可是结果还是不行!
请教一下,谢谢!
alert(data);
if (data=="false"){
alert('对不起,该登录帐号已被占用,请重新输入!');
document.all.loginName.focus();
}
}
还有这些,我用的是dwr框架
还有一点,在jsp里面 <script src='dwr/interface/ajaxBean.js'></script>
通过dwr.xml把ajaxBean 类转换成了javascript可以使用的对象名字,好像我以上这么写肯定不对的!请问高手们都是怎么处理这种问题的,我想使用ajax,局部刷新比较好的!
<param name="beanName" value="memService"/>
</create>
<param name="beanName" value="ajaxBean"/>
</create>
谢谢!!