java 多选按钮的值_多选框的操作及传值

这篇博客介绍了如何在Java中处理多选按钮的值,包括从页面接收多选框的值,遍历并操作这些值,以及如何在数据库中进行增删操作。在控制器代码中,通过HttpServletRequest获取多选框的值,然后根据这些值更新或保存用户角色关系。
摘要由CSDN通过智能技术生成

页面代码:

" method="post" >

角色列表

角色ID角色名角色代码角色描述

checked="true"

value="" />

控制器代码:protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {

// TODO Auto-generated method stub

Map result = new HashMap();

SysUserinfo userInfo = null;

String id = request.getParameter("userID");

System.out.println(id);

if (id != null && !id.equals(""))

{

userInfo = (SysUserinfo) sysService.get(SysUserinfo.class,

new Long(id));

}

else

{

}

result.put("userInfo", userInfo);

result.put("roles", sysService.getSupportData("SysRole", null));

if (userInfo != null)

{

result.put("userRoles", sysService.getUserRoles(userInfo));

}

SysUserRole sysUserRole = null;

SysRole sysRole = null;

String roleId = null;

// 记录父列表ID

result.put("parentlistID", request.getParameter("parentlistID"));

result.put("userInfo", userInfo);

//遍历所有map里的key

Iterator it = result.keySet().iterator();

while (it.hasNext())

{

String key = (String) it.next();

request.setAttribute(key, result.get(key));

}

//这里就是从列表多选框传过来的数值。根据name属性获得所有的value

String[] rolesId = null;

rolesId = request.getParameterValues("rolesId");

System.out.println("------------------------" + rolesId + "-------------------");

if (rolesId == null || rolesId.equals(null))

{

return new ModelAndView(formView);

}

else

{

List userRoles = (List)sysService

.getUsersUserRoles(userInfo.getSuinId());

//先删除数据库中所有的,再插入所选的值         for (int k = 0; k < userRoles.size(); k++)

{

SysUserRole userRole = (SysUserRole)userRoles.get(k);

sysService.delete(userRole);

}

for (int i = 0; i < rolesId.length; i++)

{

roleId = rolesId[i];

sysRole = (SysRole)sysService.get(SysRole.class, new Long(roleId));

sysUserRole = new SysUserRole();

sysUserRole.setUser(userInfo);

sysUserRole.setRole(sysRole);

sysService.save(sysUserRole);

}

//如果在###-servlet.xml配置文件中,successView不能传递参数,可在这里直接有response导向别的页面

response.sendRedirect(request.getContextPath()

+ "/sys/userRolesList.htm?userID=" + userInfo.getSuinId().toString());

return null;

}

}

posted on 2006-10-25 09:27 lovetq 阅读(1407) 评论(0)  编辑  收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值