`
stworthy
  • 浏览: 522472 次
  • 来自: ...
社区版块
存档分类
最新评论

利用etmvc再来写个小例子

阅读更多

近来对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页面,参看附件例子就好了。

 

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

 

分享到:
评论
6 楼 nacco 2014-10-23  
有没有一个默认的Controller?用www.xxx.com就可以访问的?
5 楼 LewJun 2012-10-09  
mark.
4 楼 stworthy 2010-01-19  
参数是自动绑定啊。
http://code.google.com/p/etmvc/
3 楼 kjj 2010-01-19  
参数不会自动装配吗,还用request 获取,太原始了!!!
2 楼 gongmingwind 2010-01-19  
现在这个网站 www.etmvc.cn 无法访问,无法进行更深入的学习
1 楼 yangtao309 2009-07-17  
看了下 该项目的源码
不错,借鉴了rails的思想
楼主支持你 慢慢把功能完善

相关推荐

Global site tag (gtag.js) - Google Analytics