java - 将 map 传递给 JSP

标签 java spring jsp spring-mvc

我是 Spring MVC/JSP 世界的新手。抱歉,如果以下问题很明显,

我有一张 map Map<BigInteger, String> reports = new HashMap<>();需要从 Controller 传递到 JSP。 map 的内容将是这样的

reports.put(new BigInteger("101"), "type1");
reports.put(new BigInteger("102"), "type2");
reports.put(new BigInteger("103"), "type3");

从 Spring MVC Controller 中,我传递此 map ,如下所示:

ModelAndView mav = new ModelAndView("view");
mav.addObject("reports", reports);

但是当我尝试使用以下脚本在 view.jsp 中访问它时:-

<% String a1 = request.getAttribute("reports").get(new BigInteger("101")); %>

但这给了我以下异常(exception):

PWC6199: Generated servlet error:
cannot find symbol
  symbol:   method get(java.math.BigInteger)
  location: class java.lang.Object

如果我尝试使用如下表达式获取值,也会出现相同的异常:-

<%= request.getAttribute("reports").get(new BigInteger("101")) %>

任何帮助将不胜感激。

最佳答案

request.getAttribute("reports") 返回 Object 的引用,而不是 Map 的引用,您必须强制转换

你最好使用 JSTL 以避免 View 模板中的 java 代码

关于java - 将 map 传递给 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20595909/

相关文章:

java - 将变量传递给 Jersey 中的资源类

java - Spring 任务:scheduler XML configuration problem

php - 我可以使用 POST 向其他网站的页面发送请求吗?

file - 如何刷新 Web 应用程序的资源文件夹?

java - 我不明白为什么不执行 post 方法的原因

java - Java 中多线程的替代方案

java - MANIFEST.MF Tomcat 的主类无效

Java - 泛型通配符问题

java - Spring Data Neo4J 存储库 findAll() 导致 nullpointerexception

java - 如何在 Spring Webflux/WebClient 中设置事件循环池大小?