我使用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已经过时了吗?对于愚蠢的问题感到抱歉,我对不同技术的了解越多,我就越感到困惑。
答案 0 :(得分:0)
如果您尝试在选择中列出它们,则应该可以执行此操作:
<form:select path="listElements">
<form:options items="${listElements}"></form:options>
</form:select>