使用Spring框架在JSP页面中显示可变长度的Strings列表

时间:2015-11-05 01:06:49

标签: java spring jsp spring-mvc tomcat

是否可以使用Spring框架在JSP页面中显示字符串的可变长度列表(或集合)?

目前我的Java控制器中有以下内容: -

@Controller
@RequestMapping("/")
public class HelloController
{ 
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model)
   {
      model.addAttribute("message1", "Cat");
      model.addAttribute("message2", "Dog");
      model.addAttribute("message3", "Fish");
      model.addAttribute("message4", "Bird");

      return "hello";
   }
}

目前我在“hello.jsp”中有以下内容: -

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
   <p>${message1}</p>
   <p>${message2}</p>
   <p>${message3}</p>
   <p>${message4}</p>
</body>
</html>

是否可以使用可变长度列表(或设置)来执行此操作?

感谢您的时间,

詹姆斯

2 个答案:

答案 0 :(得分:1)

List对象放入模型中,并使用<c:forEach>循环迭代列表。

model.addAttribute("messages", Arrays.asList("Cat", "Dog", "Fish", "Bird"));
<c:forEach var="message" items="${messages}">
  <p>${message}</p>
</c:forEach>

答案 1 :(得分:1)

将您的键和值对放入Map并将其设置为模型对象。

使用jsp页面中的jstl foreach循环迭代Map对象,并在键值pait中获取所需的输出

(1)Write your Controller

    Map<String, String> messageList = new HashMap<String, String>();
    messageList.put("message1", "Cat");
    messageList.put("message2", "value2");
    messageList.put("message3", "value3");
    messageList.put("message4", "value4");

    model.addAttribute("messageList",messageList);


(2)JSP page

    <c:forEach var="msg" items="${messageList}">
        ${msg.key} : ${msg.value}
    </c:forEach>