赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

用JSTL标签访问list且判断list的选中项

发布时间:2007.12.28 04:42     来源:赛迪网    作者:lu_-yi

一般而言,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>  
       (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java入门:初学者因该了解内存优化编程 (12-27) · Java语言深入--关于java的输入输出 (12-27)
· 使用Annotation设计持久层 (12-27) · 程序人生--一个程序员应该注意的问题 (12-26)
· 初学入门:一个完备的数据库连接池类 (12-26) · Java的九大特点 能帮助你很快了解java (12-26)
· 一篇不错的介绍Java Socket编程的文章 (12-26) · 程序员在职场中很费解的话题-什么叫精通? (12-26)
· Java多线程设计模式:wait/notify机制 (12-26) · 基础:Java编写过程中安全问题解决指南 (12-26)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 工信部“三定”公布 总编制731名设24司局
· 北京发电子商务监管意见 营利性网店须办照
· 直播 08中国城市信息化高峰论坛 案例点评
· 烽火网络校园解决方案 移民安置信息管理系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统