首页 > 解决方案 > 在多个 JSP 页面中添加 ArrayList

问题描述

我需要将此添加到两个或更多 JSP 页面。我想尽量避免样板代码,并在几个 JSP 页面中需要这个代码片段。

  1. 我在哪里放置这个代码片段,直到目录 com.lizardking.demographic.xxx?
  2. 我如何将它放在来自另一个外部文件的 JSP 文件中?
  3. 就命名约定而言,该文件将被视为什么,例如,实用程序类等。

我正在使用 Spring Boot 作为后端。

<%
    ArrayList<String> maritalStatusList = new ArrayList<String>();

        maritalStatusList.add("single/soltero");
        maritalStatusList.add("married/casado");
        maritalStatusList.add("divorced/divorciado");
        maritalStatusList.add("widow(er)/viudo(a)");

    request.setAttribute("maritalStatusList", maritalStatusList);
%>


Marital status/Estado civil
<select id="maritalStatus" name="maritalStatus">
<option value=""></option>
<c:forEach items="${maritalStatusList}" var="listItem">
    <option value="${listItem}" <c:if test="${listItem eq demoEntity.maritalStatus}">selected="selected"</c:if> >
        ${listItem}
    </option>
</c:forEach>    
</select>

标签: javaspringspring-bootjspjstl

解决方案


如果您使用的是 Spring Boot MVC,最好将 maritalStatusList 从控制器插入到模型对象中。因此,您可以使用一种方法来生成 ArrayList 的数据,比如 generateStatusList(),并在返回 .jsp 之前从 Controller 方法生成数据:

...
ArrayList <String> maritalStatusList = generateStatusList();
model.addAttribute("maritalStatusList", maritalStatusList);
...

然后您可以使用 .jsp 代码访问 maritalStatusList

看看https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-modelattrib-methods


推荐阅读