WEB开发网
开发学院软件开发Java 使用SpringSide 3.1.4.3开发Web项目的全过程(中)... 阅读

使用SpringSide 3.1.4.3开发Web项目的全过程(中)

 2009-09-24 00:00:00 来源:WEB开发网   
核心提示: 如果数据库中有初始数据的话,该项目运行效果如下图:到目前为止,使用SpringSide 3.1.4.3开发Web项目的全过程(中)(4),还没有涉及到getModel()、prepareModel()、以及prepare系列的方法,但是,因此,可以在Action中增加一个id属性来满足要求,一旦

如果数据库中有初始数据的话,该项目运行效果如下图:

使用SpringSide 3.1.4.3开发Web项目的全过程(中)

到目前为止,还没有涉及到getModel()、prepareModel()、以及prepare系列的方法,但是,一旦需要添加或者删除文章,这一系列的方法就有作用了。在Struts 2中,由于没有了ActionForm的概念,所有的页面传入参数都会被注入到Action中,如果不想在Action中搞太多的getter和 setter,最有效的方法就是提供一个Model对象,这时候拦截器会把页面参数注入到Model中,而在目前的项目中,没有比Entity类更适合做 Model对象的了。通过观察CrudActionSupport基类,可以发现只有在执行save和input方法之前,才会执行 prepareModel方法,该方法可以保证getModel方法返回的对象不是一个空指针,而调用delete方法之前Model对象没有初始化,但是delete方法只需要一个id作为参数,因此,可以在Action中增加一个id属性来满足要求。这时候,有改动的几行代码如下:

    private Long id;
    private Article article;
    public void setId(Long id) {
        this.id = id;
    }
    @Override
    protected void prepareModel() throws Exception {
        if (id != null) {
            article = articleManager.get(id);
        } else {
            article = new Article();
        }
    }
    public Article getModel() {
        return article;
    }
    @Override
    public String delete() throws Exception {
        articleManager.delete(id);
        return RELOAD;
    }

上一页  1 2 3 4 5  下一页

Tags:使用 SpringSide 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接