📄 useraction.java
字号:
#set( $symbol_pound = '#' )#set( $symbol_dollar = '$' )#set( $symbol_escape = '\' )package ${package}.web.user;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.config.ParentPackage;
import org.apache.struts2.config.Result;
import org.apache.struts2.config.Results;
import org.apache.struts2.dispatcher.ServletActionRedirectResult;
import org.springframework.beans.factory.annotation.Required;
import ${package}.entity.user.Role;
import ${package}.entity.user.User;
import ${package}.service.ServiceException;
import ${package}.service.user.UserManager;
import org.springside.modules.orm.hibernate.Page;
import org.springside.modules.utils.CollectionUtils;
import org.springside.modules.web.struts2.CRUDActionSupport;
/**
* 用户管理Action.
*
* @see CRUDActionSupport
*
* @author calvin
*/
@ParentPackage("default")
@Results( { @Result(name = CRUDActionSupport.RELOAD, value = "/user", type = ServletActionRedirectResult.class) })
public class UserAction extends CRUDActionSupport<User> {
private static final long serialVersionUID = -2180690009159324387L;
private UserManager manager;
private Page<User> page = new Page<User>(5, true);//每页5项,自动查询计算总页数.
private User entity;
private Long id;
private List<Role> allRoles;
private List<Long> checkedRoleIds;
public User getModel() {
return entity;
}
public Page<User> getPage() {
return page;
}
public List<Role> getAllRoles() {
return allRoles;
}
public List<Long> getCheckedRoleIds() {
return checkedRoleIds;
}
public void setCheckedRoleIds(List<Long> checkedRoleIds) {
this.checkedRoleIds = checkedRoleIds;
}
public void setId(Long id) {
this.id = id;
}
@Override
protected void prepareModel() throws Exception {
if (id != null) {
entity = manager.getUser(id);
} else {
entity = new User();
}
}
@Override
public String list() throws Exception {
page = manager.getAllUsers(page);
return SUCCESS;
}
@Override
public String input() throws Exception {
allRoles = manager.getAllRoles();
checkedRoleIds = entity.getRoleIds();
return INPUT;
}
@Override
public String save() throws Exception {
//根据页面上的checkbox 整合entity的roles Set
CollectionUtils.mergeByCheckedIds(entity.getRoles(), checkedRoleIds, Role.class);
manager.saveUser(entity);
addActionMessage("保存用户成功");
return RELOAD;
}
@Override
public String delete() throws Exception {
try {
manager.deleteUser(id);
addActionMessage("删除用户成功");
} catch (ServiceException e) {
logger.error(e.getMessage(), e);
addActionMessage(e.getMessage());
}
return RELOAD;
}
/**
* 支持使用Jquery.validate Ajax检验用户名是否重复.
*/
public String checkLoginName() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String loginName = request.getParameter("loginName");
String orgLoginName = request.getParameter("orgLoginName");
if (manager.isLoginNameUnique(loginName, orgLoginName))
return renderText("true");
else
return renderText("false");
}
@Required
public void setUserManager(UserManager userManager) {
manager = userManager;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -