一般而言,list对象会存储在request对象,session对象中,一般采用框架(比如说struts框架中的action)完成把list对象置入request对象中,
xxaction{
public actionforward execute(
actionmapping mapping,
actionform form,
httpservletrequest request,
httpservletresponse response) {
/*从session中获得用户信息*/
httpsession session=request.getsession();
user user =(user)session.getattribute("user");
request.setattribute("user",user);
/*建立rolelist*/
list rolelist =new arraylist();
for(int i=0;i< 5;i++){
role role= new role(i,"role"+i);
rolelist.add(role);
}
request.setattribute("role_list",rolelist);
}
本文的讲解重点是jstl标签部分:
< %@ taglib uri="/jstl/core" prefix="c"%>
< c:set var="user" value="${user}" />
< tr bgcolor="#ffffff">
< td align="center" valign="top">
< !--
因为涉及到中文字符问题,所以通过使用struts标签来读者资源文件中的adduser.role项,对应的中文编码为:角色-->
< bean:message key="adduser.role" />< /td>
< td>
< select name="role">
< c:foreach var="ro" items="${role_list}">< !--访问request中的role_list对象-->
< c:choose>
< c:when test="${user.role==ro.role_name}">< !--判断,相当于if(user.getrole().equlas(rolgetrolename()))假如user中的role和list中的role相同就在select中选中(高亮)-->
< option selected="selected"
value="< c:out value="${ro.role_id}"/>">< !--设定value项,这样保证页面中看到的是name,当选中
以后,传到接受端实际为id-->
< c:out value="${ro.role_name}"/>< !--看到的是role_name-->
< /option>
< /c:when>
< c:otherwise>< !--相当于else-->
< option value="< c:out value="${ro.role_id}"/>">< !--原理同上-->
< c:out
value="${ro.role_name}">< /c:out>< /option>
< /c:otherwise>
< /c:choose>
< /c:foreach>< !--循环end-->
< /select>< /td>
< /tr>
闽公网安备 35060202000074号