首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Web 下拉框 option 動態生成:JSTL/Struts2 遍歷 List 最簡潔

     編輯:程式設計綜合問答

後端準備

Controller/Servlet 將分類列表放入請求域:

List list = categoryService.findAll();
request.setAttribute("catList", list); // 或 ModelMap / ModelAndView

JSP + JSTL (標準、推薦)

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<select name="categoryId">
    <option value="0">請選擇分類</option>
    <c:forEach items="${catList}" var="cat">
        <option value="${cat.id}">${cat.name}</option>
    </c:forEach>
</select>

Struts2 標籤 (若專案用 Struts2)

<s:select name="categoryId" list="catList" listKey="id" listValue="name" headerKey="0" headerValue="請選擇分類" />

Spring MVC + Thymeleaf (現代)

<select th:field="*{categoryId}">
    <option value="0">請選擇</option>
    <option th:each="cat : ${catList}" th:value="${cat.id}" th:text="${cat.name}"></option>
</select>

純 Servlet + JSP Scriptlet (不推薦,教學用)

<select name="categoryId">
    <option value="0">請選擇</option>
    <%
        List list = (List) request.getAttribute("catList");
        for (Category c : list) {
    %>
        <option value="<%=c.getId()%>"><%=c.getName()%></option>
    <%
        }
    %>
</select>

核心:**後端傳 List,前端標籤庫/模板引擎遍歷生成 option**,手動拼接字串易錯且難維護。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved