struts html options collection

   最近做个东西有这样一个例子,学生信息中的学校,专业,班别需要独立出去,用户可以自行维护,实体关系如下图
用户在编辑学生信息时,学生的学校,专业,学生级别提供下拉框给用户选择,而非手工录入文本方式,录入效果如下,用户当前的状态以高亮显示。

假如此时正在编辑学生的信息,页面显示方面我开始的处理方式是将学生的当前学校,专业,学生级别,以及学校信息,专业信息,学生级别三表的数据都从数据库中读出并保存至request中,如果学生此三项信息并未设置,则不显示,接着下拉框中追加一条记录"请选择",再追加对应的所有学校,专业,学生级别信息至下拉框中,代码如下
  1. <%
  2.     List schools = (List)request.getAttribute("schools");
  3.     List majors = (List)request.getAttribute("majors");
  4.     List types = (List)request.getAttribute("types");
  5. %>
此段jsp文件头读取学校,专业,学生级别的信息
  1.                 <tr>
  2.                     <td width="30%">
  3.                         专业:
  4.                     </td>
  5.                     <td>
  6.                         <html:select name="student" property="mcode">
  7.                             <c:if test="${requestScope.userMajor!=null }">
  8.                             <option value="${requestScope.userMajor.id }">${requestScope.userMajor.name }</option>
  9.                             </c:if>
  10.                             <option value="">-----请选择-----</option>
  11.                             <%
  12.                                 if (majors!= null) {
  13.                                             for (int i = 0; i < majors.size(); i++) {
  14.                                                 TbMajor newMajor = (TbMajor) majors.get(i);
  15.                             %>
  16.                             <option value="<%=newMajor.getId()%>"><%=newMajor.getName()%></option>
  17.                             <%
  18.                                             }
  19.                                 }
  20.                             %>
  21.                         </html:select>
  22.                     </td>                   
  23.                 </tr>
此段为显示下拉框的处理代码,显示效果如下

上面的代码怎么看怎么繁琐,而且用户的当前学校是以第一位显示,后来经过修改,代码如下
  1.                     <td>
  2.                         <html:select name="student" property="scode">
  3.                             <option value="">-----请选择-----</option>
  4.                             <html:options collection="schools" property="scode" labelProperty="name" />
  5.                         </html:select>
  6.                     </td>
显示效果如下!

修改后看起来确实舒服很多,希望能帮助到像我一样的新手,学习的时候少走弯路。水平有限,欢迎转头,呵呵!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值