当前位置: 首页 > 知识库问答 >
问题:

为什么我不能访问这个Spring MVC项目中放入模型对象的列表?

解晟睿
2023-03-14

我是SpringMVC的新人,我有以下疑问:

进入控制器我有这个方法处理HTTP请求朝向 /consultazioneMinisterialeURL

    @RequestMapping(value = "/consultazioneMinisteriale", method = RequestMethod.GET)
    public String consultazione(Locale locale, Model model) {

    List<Twb1012Regione> listaRegioni = geograficaService.getListaRegioni();

    return "utenteMinisteriale/consultazione";
}

正如您在我检索调用服务的Twb1012Regione对象列表的方法中所看到的,我正确地检索了这个对象(使用调试器,我看到它已正确初始化)

现在,我希望此列表在返回的视图中可用,因此我以这种方式更改了前面的方法:

    @RequestMapping(value = "/consultazioneMinisteriale", method = RequestMethod.GET)
    public String consultazione(Locale locale, Model model) {

    List<Twb1012Regione> listaRegioni = geograficaService.getListaRegioni();
    model.addAttribute(listaRegioni);
    return "utenteMinisteriale/consultazione";
}

所以我简单地将检索到的列表添加到Model对象中。

现在我正试图从我的领事馆访问这个物体。jsp视图,以这种方式:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ page session="false"%>
<%@  taglib prefix="security" uri="http://www.springframework.org/security/tags" %>

<!DOCTYPE html>
<html>
    <head>
        <title>Home</title>
    </head>

    <body class="azure">
        <h1>Hello World</h1>

        <div> ${listaRegioni} </div>

        <c:forEach items="${listaRegioni}" var="item">
            TEST<br>
        </c:forEach>
    </body>
</html>

问题是,它不工作,我不能看到没有引用这个listaRegoni对象到我的视图(它只打印Hello World消息)。

为什么?我错过了什么?我怎样才能解决这个问题?

共有1个答案

楮景明
2023-03-14

您正在向模型添加一个没有名称的属性。

model.addAttribute(listaRegioni);

因此会推断出一个名称,为此它会查看集合中的类型并添加列表后缀。因此,属性的名称是twb1012RegioneList,而不是listaregoni(正如您当前在JSP中所做的那样)。命名约定中对此进行了描述。

在将参数添加到模型时,最好显式地为其命名。

model.addAttribute("listaRegioni", listaRegioni);
 类似资料:
  • 我从课本上抄了一个例子,但它拒绝编译。我是不是在什么地方打错了?出于某种原因,在客户端代码中,collections.sort(words)不允许程序编译。任何帮助都很感激。代码复制自Stuart Reges和Marty Stepp的“构建Java程序”第二版。我正试图通过复制来理解它。 该程序应该将一个CalendarDate对象装入一个ArrayList中。通过实现CalendarDate的可

  • 我这样声明了'car'对象: 当我运行该程序时,这段代码给我一个错误,它说“无法分配字段”color“,因为”car[i]“为空”: (“color”属性位于类“vehicles”中)

  • 我有下面的代码。似乎我不能将类的超类对象放入类型为集合的容器中

  • 问题内容: 据我了解,a 是定义为 一些特定但未知类型 的 列表 。因此,无论此参数的类型是什么,都应该对其进行扩展,因为在Java中,不能有任何不扩展的类型。那么为什么下面的代码没有被编译呢?它如何违反了不变式 问题答案: 可以指向可以存储不同类型对象的任何类型的列表。 您如何看待,例如,让它添加任何对象是否安全?

  • 问题内容: 当用户向我的API注册时,他们将返回一个用户对象。在返回对象之前,我删除了散列的密码和salt属性。我必须用 因为当我尝试 对象属性仍然存在并返回。 这是为什么? 问题答案: 要使用它,您需要通过调用将模型文档转换为普通的JavaScript对象,以便您可以自由地操作它:

  • org.springframework.beans.factory.NosuchBeanDefinitionException:没有找到与依赖项[map with value type java.lang.String]匹配的类型[java.lang.String]的bean:需要至少1个bean作为此依赖项的autowire候选项。 我尝试将键和值类型显式声明为,但没有效果。你知道我可能做错了什