想用dwr框架做一个不刷新页面,验证用户名存不存在的方法,但是页面始终无法实现方法,后台不报错,只是在JSP页面上弹出ERROR错误。 后台已经测试,可以正确进入对应方法CheckData,并且email也传入进去了,但就是不能调用userBiz方法。 怀疑跟Spring框架结合有错误,两次查询了Spring配置,都是正确的,请问何解? 下面贴jsp相关代码: Java代码 收藏代码
/*邮箱名是否注册检查*/
function checkResult1(){
var result=null;
var email = document.getElementById('email').value;
if(email <= 5){
result='<span class="STYLE7">用户名必须大于5个字符</span>';
document.getElementById('result1').innerHTML=result;
}else if(email > 50){
result='<span class="STYLE7">用户名必须小于50个字符</span>';
document.getElementById('result1').innerHTML=result;
}else{
CheckOccupied.checkEmailOccupied(email,msg1);
}
}
function msg1(data){
var result = null;
if(data == "yes"){
result='<img src="../images/check_right.gif" alt="">';
}else if(data == "no"){
result='<span class="STYLE7">该用户名已注册,请更换用户名或<a href="#">登录</a></span>';
}else{
result='数据错误';
}
document.getElementById('result1').innerHTML=result;
}
spring框架相关代码: Java代码 收藏代码
<!-- 声明事务管理器 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 基于@Transactional注解方式的事务管理 -->
<tx:annotation-driven transaction-manager="myHibTransactionManager" />
<!-- 定义事务通知 -->
<tx:advice id="txAdvice" transaction-manager="myHibTransactionManager">
<!-- 指定事务传播规则 -->
<tx:attributes>
<!-- 对get打头的方法应用SUPPORTS事务规则 -->
<tx:method name="get*" propagation="SUPPORTS" />
<!-- 对其他方法应用REQUIRED事务规则 -->
<tx:method name="*" propagation="REQUIRED"></tx:method>
</tx:attributes>
</tx:advice>
<!-- 定义切面,并将事务通知和切面组合(定义哪些方法应用事务规则) -->
<aop:config>
<!-- 对com.tyyf.biz包下的所有类的所有方法都应用事务规则 -->
<aop:pointcut id="bizMethods" expression="execution(* com.tyyf.biz.*.*(..))" />
<!-- 将事务通知和切面组合 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
</aop:config>
<bean id="checkData" class="com.tyyf.dwr.CheckData" scope="prototype">
<property name="userBiz" ref="userBiz" />
</bean>
java代码: Java代码 收藏代码
User user = new User();
// 使用UserBiz接声明属性userBiz,并添加set方法,用于依赖注入
UserBiz userBiz;
public void setUserBiz(UserBiz userBiz) {
this.userBiz = userBiz;
}
public String checkEmailOccupied(String email) {
user.setEmail(email);
if (userBiz.getUser(user) != null) {
return "no";
} else {
return "yes";
}
}
dwr配置代码: Java代码 收藏代码
<dwr>
<allow>
<create creator="new" javascript="CheckOccupied">
<param name="class" value="com.tyyf.dwr.CheckData" />
</create>
</allow>
</dwr>
既然你是使用dwr结合spring,那你的dwr.xml怎么不用spring
Java代码 收藏代码
<create creator="spring" javascript="CheckOccupied">
<param name="beanName" value="checkData"/>
<include method="checkEmailOccupied"/>
lt;/create>
另外在applicationcontext.xml定义bean
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。