在多个 JSP 页面中添加 ArrayList
Adding a ArrayList in more than one JSP page
我需要将其添加到两个或更多 JSP 页。我想尽量避免使用样板代码,并且需要在几个 JSP 页面中使用此代码片段。
- 我应该将此代码片段放在目录 com.lizardking.demographic.xxx 的什么位置?
- 如何将它放入来自另一个外部文件的 JSP 文件中?
- 就命名约定而言,该文件将被视为什么,例如实用程序 class 等
我正在为后端使用 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>
如果您正在使用 Spring Boot MVC,也许最好将 maritalStatusList 从控制器插入到模型对象中。因此,您可以使用一种方法来生成 ArrayList 的数据,比方说 generateStatusList(),然后从您的 Controller 方法返回 .jsp:
...
ArrayList <String> maritalStatusList = generateStatusList();
model.addAttribute("maritalStatusList", maritalStatusList);
...
然后您可以使用您的 .jsp 代码
访问 maritalStatusList
我最终做的是将这个方法放在我的控制器中。然后通过 ModelMap 将其发送到视图。我不确定这是否是 "right" 的方式。它似乎使控制器膨胀。
public Map<String, String> getMaritalStatusList(){
Map<String, String> maritalStatusList = new HashMap<String, String>();
maritalStatusList.put("married/casado", "married/casado");
maritalStatusList.put("married/casado","married/casado");
maritalStatusList.put("divorced/divorciado", "divorced/divorciado");
maritalStatusList.put("widow(er)/viudo(a)", "widow(er)/viudo(a)");
return maritalStatusList;
}
我需要将其添加到两个或更多 JSP 页。我想尽量避免使用样板代码,并且需要在几个 JSP 页面中使用此代码片段。
- 我应该将此代码片段放在目录 com.lizardking.demographic.xxx 的什么位置?
- 如何将它放入来自另一个外部文件的 JSP 文件中?
- 就命名约定而言,该文件将被视为什么,例如实用程序 class 等
我正在为后端使用 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>
如果您正在使用 Spring Boot MVC,也许最好将 maritalStatusList 从控制器插入到模型对象中。因此,您可以使用一种方法来生成 ArrayList 的数据,比方说 generateStatusList(),然后从您的 Controller 方法返回 .jsp:
...
ArrayList <String> maritalStatusList = generateStatusList();
model.addAttribute("maritalStatusList", maritalStatusList);
...
然后您可以使用您的 .jsp 代码
访问 maritalStatusList我最终做的是将这个方法放在我的控制器中。然后通过 ModelMap 将其发送到视图。我不确定这是否是 "right" 的方式。它似乎使控制器膨胀。
public Map<String, String> getMaritalStatusList(){
Map<String, String> maritalStatusList = new HashMap<String, String>();
maritalStatusList.put("married/casado", "married/casado");
maritalStatusList.put("married/casado","married/casado");
maritalStatusList.put("divorced/divorciado", "divorced/divorciado");
maritalStatusList.put("widow(er)/viudo(a)", "widow(er)/viudo(a)");
return maritalStatusList;
}