论坛首页 Java企业应用论坛

利用etmvc再来写个小例子

浏览 3682 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-15   最后修改:2009-06-19

近来对etmvc进行修改,增加了控制器方法参数绑定功能,遗憾的是,获取方法参数名称的方法还没一个令我满意的。

 

关于etmvc的详细资料,请访问www.etmvc.cn

 

先将就一下吧,来写个用户资料管理的小例子,首先建立数据模型:

@Table(name="users")
public class User extends ActiveRecordBase{
    @Id private Integer id;
    @Column private String name;
    @Column private String addr;
    @Column private String email;
    @Column private String remark;
    //get set...
}

接下来写个控制器类:

public class UserController extends ApplicationController{
    /**
     * 用户资料列表
     */
    public void index() throws Exception{
        List<User> users = User.findAll(User.class);
        request.setAttribute("users", users);
    }

    /**
     * 新建用户页面
     */
    public void new_(){
        request.setAttribute("user", new User());
    }

    /**
     * 保存新建用户资料并重定向到列表页面
     */
    public void create(User user) throws Exception{
        user.save();
        redirect("index");
    }

    /**
     * 编辑页面
     */
    public void edit(int id) throws Exception{
        User user = User.find(User.class, id);
        request.setAttribute("user", user);
    }

    /**
     * 更新用户资料并重定向到列表页面
     */
    public void update(int id) throws Exception{
        User user = User.find(User.class, id);
        user = User.updateModel(user, request.getParameterMap());
        user.save();
        redirect("index");
    }

    /**
     * 删除用户资料
     */
    public void destroy(int id) throws Exception{
        User user = User.find(User.class, id);
        user.destroy();
        redirect("index");
    }
}

代码就不用再多解释了,这样完成了基本的CRUD操作。

视图采用JSTL页面,参看附件例子就好了。

 

这里要说明的是,控制器方法的参数可以是任意的,框架会对其进行绑定,感觉代码比以前更简洁了。

 

   发表时间:2009-07-17  
看了下 该项目的源码
不错,借鉴了rails的思想
楼主支持你 慢慢把功能完善
0 请登录后投票
   发表时间:2010-01-19  
现在这个网站 www.etmvc.cn 无法访问,无法进行更深入的学习
0 请登录后投票
   发表时间:2010-01-19  
参数不会自动装配吗,还用request 获取,太原始了!!!
0 请登录后投票
   发表时间:2010-01-19  
参数是自动绑定啊。
http://code.google.com/p/etmvc/
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics