使用JSTL标签来访问list并判断list中的选中项

2008-02-23 07:53:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  本文将向大家讲述如何通过sun公司的jstl标签来访问list对象,并在jsp页面进行显示

  一般而言,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>

  共勉,欢迎交流:wyf_cjl@sohu.com

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Tomcat的RemoteAddrValve的使用

下一篇:JSP程序员成长全计划