今天我用dwr验证用户名是否从用,当我整合spring的时候,就出错。
情况是这样的,我在业务层StaffBusinesImp中写了一个验证方法isRegist(String username),
public String isRegist(String username) {
Set<String> users = new HashSet<String>();
users.add("xiaoqiang");
if(users.contains(username))
{
return "用户名已占用";
}else
{
return "可用";
}
}
这样的话,可以正常调用,可是当我在方法中写上涉及到处理数据库的代码this.getHibernateTemplate().find("from StaffValue")此类的代码时,就报错了
情况是这样的,我在业务层StaffBusinesImp中写了一个验证方法isRegist(String username),
public String isRegist(String username) {
Set<String> users = new HashSet<String>();
users.add("xiaoqiang");
if(users.contains(username))
{
return "用户名已占用";
}else
{
return "可用";
}
}
这样的话,可以正常调用,可是当我在方法中写上涉及到处理数据库的代码this.getHibernateTemplate().find("from StaffValue")此类的代码时,就报错了
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"><dwr>
<allow>
<convert converter="bean" match="ssh.value.StaffValue" />
<!-- 产品材质DWR声明 -->
<create javascript="checkUser" creator="spring">
<param name="beanName" value="StaffBusinessDWR" />
<include method="isRegist" />
</create>
</allow>
</dwr>
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="StaffBusinessDWR" class="ssh.DWR.StaffBusinessDWR">
<property name="StaffBusiness">
<ref bean="StaffBusiness" />
</property>
</bean>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
恩,我按你说的试过了
public String isRegist(String username) {
Set<String> users = new HashSet<String>();
users.add("xiaoqiang");
System.out.println("执行1"); this.getHibernateTemplate().find("from StaffValue"); System.out.println("执行2"); if(users.contains(username))
{
return "用户名已占用";
}else
{
return "可用";
}
}
它只执行到("执行1");
到this.getHibernateTemplate().find("from StaffValue")就不执行了,可是我屏蔽了这句的话,下面的语句都会执行,this.getHibernateTemplate().find("from StaffValue")没有问题,我正常执行其他的业务层可以正常执行,只要用dwr调用了就会出错