java.util.List元素作为HTML选择JSP页面中的选项元素 - 使用哪种方式?

时间:2015-01-23 21:01:28

标签: java jsp spring-mvc jsp-tags

我使用Spring框架,在那里我将不同类型的值放入ModelAndView-s中,然后我尝试在我的jsp页面中使用它们。当我使用String值时,很容易,我将它放入ModelAndView:

mv.addObject("stringValue", "Hello Stackoverflow");

我可以在jsp页面上阅读它(据我所知,这种方法称为JSP EL):

<input type="text" id="stringValue" name="stringValue" value="${stringValue}">

但是当我尝试对List元素做同样的事情时:

mv.addObject("listElements", Arrays.asList("first", "second", "third", "fourth"));

我发现很难在JSP页面中使用它们。我可以用JSP scriplets处理它们:

<select id="positionT" name="positionT" class="form-control">
        <%List<String> elements = (List<String>) request.getAttribute("listElements");
          for(String actElement : elements){
        %>
            <option value="<%=actElement %>"><%=actElement %></option>
        <%} %>
    </select>

但我读到使用JSP scriplets已经过时了。我还找到了JSTL和Spring Tag Libraries的解决方案。我对Apache Velocity和Freemarker有点了解,所以我知道它们是一个很好的解决方案。但是有没有解决方案,我不必使用任何类型的库或任何类型的模板引擎?还要避免JSP scriplets?就像我使用简单String值的方式一样。还有人可以告诉我为什么JSP scriplet已经过时了吗?对于愚蠢的问题感到抱歉,我对不同技术的了解越多,我就越感到困惑。

1 个答案:

答案 0 :(得分:0)

如果您尝试在选择中列出它们,则应该可以执行此操作:

<form:select path="listElements">
    <form:options items="${listElements}"></form:options>
</form:select>