近来对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页面,参看附件例子就好了。
这里要说明的是,控制器方法的参数可以是任意的,框架会对其进行绑定,感觉代码比以前更简洁了。