UserDAO.java package com.discountstore.dao; public interface UserDAO { 
public abstract boolean isVaildUser(String username,String password); 
} UserDAOImpl.java package com.discountstore.dao; 
import com.discountstore.dao.UserDAO; 
import org.springframework.orm.hibernate.support.HibernateDaoSupport; 
import java.util.List; public class UserDAOImpl extends HibernateDaoSupport implements UserDAO { 
private static String sqlString="from users u where u.username=? and u.password=?"; 
public UserDAOImpl() { 

public boolean isVaildUser(String username,String password){ 
List userList = this.getHibernateTemplate().find(sqlString); 
if (userList.size()>0){ 
return true; 

return false; 

}

解决方案 »

  1.   

    伙计,你在loginAction 里想使用UserDao..这个到底是哪个呢?你注入的实例是你想要用的类吗?看看spring的配置文件,应该是出错出在那里。具体在哪我也说不上:)
      

  2.   

    你的Action没有被注入dao实现类:
    <!--bean name="/login" class="com.discountstore.struts.action.LoginAction" singleton="false"> 
      <property name="userDAO"> 
        <ref bean="userDAOProxy"/> 
      </property> 
    </bean-->:::但一般不会把dao直接用在action中.
      

  3.   

    Action不是由Spring来维护的.所以自然地不能由Spring向它注入什么,否则会出现异常.所以你还要定义一个服务类,由Spring来注入你需要使用的dao实现类,然后在你的Action中获得所定义的服务类(服务类和dao实现类都被注册到Spring配置文件中;并且dao实现类被配置为注入服务类中,即像你上面的Action中注入dao实现类一样)