应该是userLoginDao注入到LoginActions有问题. 

解决方案 »

  1.   

    应该是userLoginDao注入到LoginActions有问题. 如果有问题那要怎么解决呢。帮我在看下你看下我的LoginActions 我是这样写的,如果知道怎么回事请帮忙看下
    LoginActiongs.java
    public class LoginActions extends Action {

    private UserLoginDao loginDao;
    public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
    boolean res = true;
    LoginFrom LoginFrom = (LoginFrom) form;
    String userID = LoginFrom.getAccount_no();
    String password = LoginFrom.getPassword();
    System.out.println("password-------"+password);
    //res = loginDao.isLoginValid(userID,password);loginDao.isLoginValid(userID,userID)
    if(res){
    return mapping.findForward("success");
    }else{
    return mapping.getInputForward();
    }
    }

    public UserLoginDao getLoginDao() {
    return loginDao;
    } public void setLoginDao(UserLoginDao loginDao) {
    this.loginDao = loginDao;
    }
      

  2.   

    @InjectObject("spring:AskDAO")
    public abstract AskDAO getDao();
    在用的时候,写成
    AskDAO askDAO = getAskDAO();可以吗?
      

  3.   

    问题解决了,现在我说下原因。
    问题出在LoginActions.java中,我sping-bean.xml中没有配置SessionFactory,HibernateTemplate,但是这个dao类有继承了HibernateDaoSupport所以就报错了,去掉extends HibernateDaoSupport 程序就好了
    public class UserLoginDao extends HibernateDaoSupport { public boolean isLoginValid(String userid,String password){
    String hql=" from user u where u.account_no=? and u.password=?";
    String []userInfo= new String[2];
    userInfo[0] = userid;
    userInfo[1] = password;
    System.out.print("userid---------"+userid);
    List resultList =null; //super.getHibernateTemplate().find(hql,userInfo);
    if(resultList.size()>0){
    return false;
    }else{
    return true;
    }
    }