日期:2014-05-17  浏览次数:20705 次

SSH框架中普通的Java程序如何通过Action读取数据。
在一个正常的SSH Web站点,网页中已能正常读取数据。 

UserAction 

Java code

    public String list() throws Exception {
        userList = this.userService.findAll();
        if (userList != null && userList.size() > 0) {
            for (int i=0;i<userList.size();i++){
                PubUsers user=userList.get(i);
                System.out.println(user.getUserName() );
            }    
                
        } else {
            System.out.println("无数据!");
        }        
        return "list";
    }
    public PubUsers getUser(String username)  throws Exception {

        PubUsers user=(PubUsers) userService.findById(username);
        return user;        
    }




现要使用一个JAVA程序从这个Action中读取数据 

Java code

……
UserAction userAction = new UserAction();
user = userAction.getUser(loginName);
System.out.println(user.getUserName());
……




使用这个方法,在DAO中无法取得HibernateTemplate,从而得不到数据。 
不何如何处理。

------解决方案--------------------
Action 里面应该有
private User user;//必须要有user类 
public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}
然后用user获取!
------解决方案--------------------
spring的注入,你不可能自己new个Dao对象就可以用

写个servlet 用webapplicationcontext去spring里面getBean
------解决方案--------------------
不怎么明白楼主这样问是什么意思,action不是要通过web容器来实例的么,HibernateTemplate也是要通过spring的配置文件来注入的啊。。
------解决方案--------------------
可能是你的applicationContext.xml文件配置有问题。或者你没有配置。
------解决方案--------------------
这就相当于你不用SSH框架,半用半不用这牵涉的东西太多了