package easyjweb.demo.user.mvc; import com.easyjf.container.annonation.Inject; import com.easyjf.web.ActionContext; import com.easyjf.web.Module; import com.easyjf.web.WebForm; import com.easyjf.web.core.AbstractPageCmdAction; import easyjweb.demo.user.domain.User; import easyjweb.demo.user.service.UserService; public class UserAction extends AbstractPageCmdAction { @Inject private UserService service; public void setService(UserService service) { this.service = service; } /** * 在执行所有的方法前先执行的方法,可以用来实现简单的权限验证等 */ @Override public Object doBefore(WebForm form, Module module) { String cmd = (String) form.get("cmd"); if (cmd != null && !"login".equals(cmd) && !"init".equals(cmd)) { User user = (User) ActionContext.getContext().getSession() .getAttribute("user"); if (user == null) { form.addResult("msg", "请先登录系统!"); return page("index"); } } return null; } /** * 登录 * * @param form */ public void login(WebForm form) { String name = (String) form.get("name"); String password = (String) form.get("password"); User user = service.login(name, password); if (user == null) { form.addResult("msg", "用户名或密码不正确,请重新输入!"); page("index"); } else { ActionContext.getContext().getSession().setAttribute("user", user); forward("list"); } } /** * 修改用户 * * @param form */ public void edit(WebForm form) { String id = (String) form.get("id"); User user = this.service.getUser(new Long(id)); form.addPo(user); } /** * 查看用户详情 * * @param form */ public void preview(WebForm form) { String id = (String) form.get("id"); User user = this.service.getUser(new Long(id)); form.addPo(user); } /** * 保存新增用户 * * @param form */ public void save(WebForm form) { User user = form.toPo(User.class); if(service.getUser(user.getName())!=null) { this.addError("name","用户名"+user.getName()+"已经存在!"); } if (hasErrors()) { page("add"); return; } service.saveUser(user); forward("list"); } /** * 修改用户 * * @param form */ public void update(WebForm form) { Long id = new Long((String) form.get("id")); String name=(String)form.get("name"); User u2=this.service.getUser(name); User user = this.service.getUser(id); if(u2!=null && !u2.getId().equals(id)) { this.addError("name","用户名"+name+"已经被其它的用户占用!"); } form.toPo(user,true); if (hasErrors()) { page("edit"); return; } service.updateUser(id, user); forward("list"); } /** * 删除用户 * * @param form */ public void delete(WebForm form) { String id = (String) form.get("id"); User user = this.service.getUser(new Long(id)); service.delUser(user); go("list"); } /** * 显示用户列表 * * @param form */ public void list(WebForm form) { form.addResult("list", service.getAllUser()); } /** * 注销用户 */ public void logout() { ActionContext.getContext().getSession().removeAttribute("user"); page("index"); } }