Добавление ArrayList на более чем одну JSP страницу - PullRequest
0 голосов
/ 03 марта 2020

Мне нужно добавить это к двум или более JSP страницам. Я хочу попытаться избежать стандартного кода и мне нужен этот фрагмент кода на нескольких JSP страницах.

  1. где я могу поместить этот фрагмент кода в каталог com.lizardking.demographi c .xxx?
  2. как мне поместить его в JSP файл, поступающий из другого внешнего файла?
  3. что этот файл следует рассматривать в соответствии с соглашением об именах, например, служебный класс и т. д. c.

I'm использование 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>

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Если вы используете Spring Boot MVC, возможно, лучше вставить maritalStatusList из контроллера в объект Model. Таким образом, вы можете использовать метод для генерации данных вашего ArrayList, скажем, generateStatusList () и из вашего метода Controller, перед возвратом. jsp:

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

И затем вы можете получить доступ к maritalStatusList с помощью ваш. jsp код

Взгляните на https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc -ann-modelattrib-method

0 голосов
/ 04 марта 2020

Я закончил тем, что поместил этот метод в свой контроллер. А затем отправив его на просмотр через ModelMap. Я не уверен, что это «правильный» способ сделать это. Кажется, раздутый контроллер.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...