最近做个东西有这样一个例子,学生信息中的学校,专业,班别需要独立出去,用户可以自行维护,实体关系如下图
用户在编辑学生信息时,学生的学校,专业,学生级别提供下拉框给用户选择,而非手工录入文本方式,录入效果如下,用户当前的状态以高亮显示。
假如此时正在编辑学生的信息,页面显示方面我开始的处理方式是将学生的当前学校,专业,学生级别,以及学校信息,专业信息,学生级别三表的数据都从数据库中读出并保存至request中,如果学生此三项信息并未设置,则不显示,接着下拉框中追加一条记录"请选择",再追加对应的所有学校,专业,学生级别信息至下拉框中,代码如下
此段jsp文件头读取学校,专业,学生级别的信息
此段为显示下拉框的处理代码,显示效果如下
上面的代码怎么看怎么繁琐,而且用户的当前学校是以第一位显示,后来经过修改,代码如下
显示效果如下!
修改后看起来确实舒服很多,希望能帮助到像我一样的新手,学习的时候少走弯路。水平有限,欢迎转头,呵呵!
用户在编辑学生信息时,学生的学校,专业,学生级别提供下拉框给用户选择,而非手工录入文本方式,录入效果如下,用户当前的状态以高亮显示。
假如此时正在编辑学生的信息,页面显示方面我开始的处理方式是将学生的当前学校,专业,学生级别,以及学校信息,专业信息,学生级别三表的数据都从数据库中读出并保存至request中,如果学生此三项信息并未设置,则不显示,接着下拉框中追加一条记录"请选择",再追加对应的所有学校,专业,学生级别信息至下拉框中,代码如下
- <%
- List schools = (List)request.getAttribute("schools");
- List majors = (List)request.getAttribute("majors");
- List types = (List)request.getAttribute("types");
- %>
- <tr>
- <td width="30%">
- 专业:
- </td>
- <td>
- <html:select name="student" property="mcode">
- <c:if test="${requestScope.userMajor!=null }">
- <option value="${requestScope.userMajor.id }">${requestScope.userMajor.name }</option>
- </c:if>
- <option value="">-----请选择-----</option>
- <%
- if (majors!= null) {
- for (int i = 0; i < majors.size(); i++) {
- TbMajor newMajor = (TbMajor) majors.get(i);
- %>
- <option value="<%=newMajor.getId()%>"><%=newMajor.getName()%></option>
- <%
- }
- }
- %>
- </html:select>
- </td>
- </tr>
上面的代码怎么看怎么繁琐,而且用户的当前学校是以第一位显示,后来经过修改,代码如下
- <td>
- <html:select name="student" property="scode">
- <option value="">-----请选择-----</option>
- <html:options collection="schools" property="scode" labelProperty="name" />
- </html:select>
- </td>
修改后看起来确实舒服很多,希望能帮助到像我一样的新手,学习的时候少走弯路。水平有限,欢迎转头,呵呵!