里面方法没有问题的,execute()方法同样调用了这个方法,传入同样的值.
是不是跟访问方式有关系?
execute() 是地址调用action的execute()方法的返回指定的页面.
cook()方法是直接jsp页面调用

解决方案 »

  1.   

    你那个userCookie.chaCookie()贴出来看看啊
      

  2.   

    userCookie 估计是  null了
      

  3.   

    UserCookie....interface classUserCookieImpl
    package com.wap816.wap.service.impl;
    import javax.annotation.Resource;
    import org.springframework.stereotype.Component;
    import com.wap816.wap.dao.UserDao;
    import com.wap816.wap.model.User;
    import com.wap816.wap.service.UserCookie;
    @Component("cook")
    public class UserCookieImpl implements UserCookie{
    private UserDao userDao;

    @Override
    public boolean chaCookie(String user) {

    if(userDao.getIds(user) != null && userDao.getIds(user).size() > 0) {
    return true;
    }

    return false;
    } public UserDao getUserDao() {
    return userDao;
    }
    @Resource(name="dao")
    public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
    }
    }UserDao....interface classUserDaoImpl
    package com.wap816.wap.dao.impl;import java.util.List;import javax.annotation.Resource;import org.springframework.orm.hibernate4.HibernateTemplate;
    import org.springframework.stereotype.Component;import com.wap816.wap.dao.UserDao;
    import com.wap816.wap.model.User;@Component("dao")
    public class UserDaoImpl implements UserDao { private HibernateTemplate hibernateTemplate; public HibernateTemplate getHibernateTemplate() {
    return hibernateTemplate;
    } @Resource//(name="hibernateTemplate")
    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    this.hibernateTemplate = hibernateTemplate;
    } @Override
    public List<User> getIds(String user) {

    int id = Integer.parseInt(user.split("\\+")[1]);
    String password = user.split("\\+")[0];
    User u = new User();
    u.setId(id);
    u.setPassword(password);
    //System.out.println(u.getId()+u.getPassword()+8888); 
    String hql= "from User u where u.id='"+u.getId()+"' and u.password='"+u.getPassword()+"' ";
    List<User> ids =  (List<User>)this.getHibernateTemplate().find(hql);
    return ids;
    }

    }
      

  4.   

    里面方法没有问题的,execute()方法同样调用了这个方法,传入同样的值.
    是不是跟访问方式有关系?
    execute() 是地址调用action的execute()方法的返回指定的页面.
    cook()方法是直接jsp页面调用
    cook()方法怎么会有参数呢,没有通过struts访问,userCookie是没值的
      

  5.   

    里面方法没有问题的,execute()方法同样调用了这个方法,传入同样的值.
    是不是跟访问方式有关系?
    execute() 是地址调用action的execute()方法的返回指定的页面.
    cook()方法是直接jsp页面调用
    cook()方法怎么会有参数呢,没有通过struts访问,userCookie是没值的值是jsp页面传进去的,你看cook()的class已经获取值并打印出来了
      

  6.   

    应该是你调用的问题,你的cook这个方法的调用时机是怎么样的,是直接访问某个jsp页面,有这个jsp页面调用,还是用别的页面跳转过来的,像你的第一种方式struts方式传值,它会把你的用户登录信息封装到你的userBean里面,取道值很正常,至于后面的那个cook方法,我了解你写的思路,所以不能给你下结论的