整了差不多一天了,查了不少资料,资料虽多,但感觉很难找到直接可以用的,经过和同事们的推导,终于算是实现了。
先说下需求,我要实现的效果是,如:角色总共有 超级管理员、管理员、财务、高级客户、普通客户,但此人的角色是管理员和普通客户。也就是说在要修改这个人角色的时候,要把所有的角色查询出来,并把他的角色自动打勾。
所以选择了S2的标签 s:checkboxlist
前台jsp代码很简单只要区区一行代码
下面逐个解释下参数的含义:
name 属性不可少,你可以自己取名字。
list 所有的角色(数据库中的存在的所有角色,值为一个list)
listKey 和 listValue 对应的值是一个bean中的值,并有相应的get和set方法。
listKey 是所有角色中的 ID属性
listValue 就是角色的名称
value 中的值是选中的角色(必须是一个list,并且保存的是字符串,即使是id属性也要转化为字符串)
如此就结束了。
方法二、 采用js控制
相关代码帖下就OK了
简单总结下,希望能对碰到类似问题的人点帮助。
本文来自CSDN博客,转载请标明出处:[code="java"][/code]http://blog.csdn.net/bolink5/archive/2010/02/01/5278215.aspx
先说下需求,我要实现的效果是,如:角色总共有 超级管理员、管理员、财务、高级客户、普通客户,但此人的角色是管理员和普通客户。也就是说在要修改这个人角色的时候,要把所有的角色查询出来,并把他的角色自动打勾。
所以选择了S2的标签 s:checkboxlist
前台jsp代码很简单只要区区一行代码
view plaincopy to clipboardprint?
<s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">
</s:checkboxlist>
<s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">
</s:checkboxlist>
下面逐个解释下参数的含义:
name 属性不可少,你可以自己取名字。
list 所有的角色(数据库中的存在的所有角色,值为一个list)
listKey 和 listValue 对应的值是一个bean中的值,并有相应的get和set方法。
listKey 是所有角色中的 ID属性
listValue 就是角色的名称
value 中的值是选中的角色(必须是一个list,并且保存的是字符串,即使是id属性也要转化为字符串)
如此就结束了。
方法二、 采用js控制
相关代码帖下就OK了
view plaincopy to clipboardprint?
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<!-- 全部 -->
<property value="#request.allTypeList"/>
<div id="allTypes" >
<s:iterator value="#request.allTypeList" id="alltype">
<input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>
</s:iterator>
</div>
<!-- 已经选中的 -->
<div id="ischecked" style="display: none" mce_style="display: none">
<s:iterator value="#request.chooseTypeList" id="choosetype">
<span><s:property value='#choosetype.infortypeid'/></span>
</s:iterator>
</div>
<mce:script type="text/javascript"><!--
$(document).ready(function (){
$("#ischecked").find("span").each(function(){
var checkVal=$(this).html();
$("#allTypes").find("input").each(function(){
var thisLang=$(this).attr("lang");
if(checkVal==thisLang){
$(this).attr("checked",true);
}
});
});
});
// --></mce:script>
</html>
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<!-- 全部 -->
<property value="#request.allTypeList"/>
<div id="allTypes" >
<s:iterator value="#request.allTypeList" id="alltype">
<input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>
</s:iterator>
</div>
<!-- 已经选中的 -->
<div id="ischecked" style="display: none" mce_style="display: none">
<s:iterator value="#request.chooseTypeList" id="choosetype">
<span><s:property value='#choosetype.infortypeid'/></span>
</s:iterator>
</div>
<mce:script type="text/javascript"><!--
$(document).ready(function (){
$("#ischecked").find("span").each(function(){
var checkVal=$(this).html();
$("#allTypes").find("input").each(function(){
var thisLang=$(this).attr("lang");
if(checkVal==thisLang){
$(this).attr("checked",true);
}
});
});
});
// --></mce:script>
</html>
简单总结下,希望能对碰到类似问题的人点帮助。
本文来自CSDN博客,转载请标明出处:[code="java"][/code]http://blog.csdn.net/bolink5/archive/2010/02/01/5278215.aspx