<logic:present name="power">
<logic:iterate id="power" name="power">
<%
i += 1;
if (i % 2 == 1) {
bg = "bgcolor=ffffff";
} else {
bg = "";
}
%>
<tr <%=bg%>>
<td>
<html:hidden property="treeid" name="power" />
<bean:write property="treename" name="power" />
</td>
<td>
<bean:write property="treecode" name="power" />
</td>
<td>
<bean:write property="treeurl" name="power" />
</td>
<logic:equal value="#" property="treeurl" name="power">
<td colspan="7"></td>
</logic:equal>
<logic:notEqual value="#" property="treeurl" name="power">
<td>
<html:checkbox property="powerAdd" value='${power.treecode }' />
<html:hidden property="powerAdd" value='${power.treecode }' />
</td>
<td>
<html:checkbox property="powerMod" value='${power.treecode }' />
</td>
<td>
<html:checkbox property="powerDel" value='${power.treecode }' />
</td>
<td>
<html:checkbox property="powerSearch"
value='${power.treecode }' />
</td>
<td>
<html:checkbox property="powerAudit" value='${power.treecode }' />
</td>
<td>
<html:checkbox property="powerView" value='${power.treecode }' />
</td>
<%--<td align="center">
<input type="checkbox" name="all" onclick="all()">
</td>
--%>
</logic:notEqual>
</tr>
</logic:iterate>
</logic:present>比较完整的jsp代码。
checkbox 的value放的是权限的编码,我的管理员可以通过选择checkbox来选择要分配的权限,把选择checkbox的值我都传到action中保存到数据库。我要做修改的时候我从数据库中读出一个权限的内容,也就是把checkbox的值加起来的一个String。
我在做修改操作的时候判断这个用户有没有这个权限,有这个权限我在修改页面的checkbox的初始值应该是选中的。
这个应该怎么做呢?

解决方案 »

  1.   

      一般的做法是:
      管理员分配权限后,当用户登陆系统的过程就有一个判断的过程
      举个例子来说,管理员给001这个用户分配了删除和查看的权限,那么数据库中001这个用户的权限就变为了只有删除和查看的权限。当001这个用户登陆系统时,后台进行权限验证用户所具有的权限。然后转向相关的权限界面
      LZ提出:我在做修改操作的时候判断这个用户有没有这个权限,有这个权限我在修改页面的checkbox的初始值应该是选中的。
      LZ的想法是不是登陆系统只是验证用户名和密码,不需要进行权限验证。
      分配权限的复选框代码也有问题,property应该一致。
      
      

  2.   

    简单看了一下你的代码,,发现,你虽然:       powerForm.setPower_code(power.getPowerCode());
            powerForm.setPower_id(power.getPowerId().toString());
            powerForm.setPower_name(power.getPowerName());
            powerForm.setA(power.getA());
            powerForm.setAddIp(power.getAddIp());
            powerForm.setAddEmp(power.getAddEmp());
            powerForm.setAddTime(power.getAddTime());对PF进行操作了,但没有
    request.setattribute("powerForm",powerForm);一定要加入这句,不然ACTION不会覆盖request中的actionform对象的