问题标签 [modelattribute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
414437 浏览

java - Spring MVC 中的@ModelAttribute 是什么?

@ModelAttributeSpring MVC中的用途和用途是什么?

0 投票
1 回答
1310 浏览

spring-mvc - Spring 如何在@ModelAttribute 的 GET 请求中编码 POJO?

我有一个这样设置的 Spring MVC 控制器:

其中 PaginationArgs 是一个两字段 POJO。我想构造一个 URL 字符串,其中包含paginationargs. parentexpand-很容易做到activityChart?parent=foo&expand=bar&expand=baz,但是对 POJO 的字段进行编码的正确方法是什么?

JSP 在 Spring 中使用<form:form modelAttribute='paginationargs'>标记来处理这个问题,但是我们的项目没有使用 JSP,而是使用 Jamon。

0 投票
1 回答
9276 浏览

json - Spring 3.0.5 - 将 @ModelAttribute 添加到处理程序方法签名会导致 JsonMappingException

我不确定这是否是我的错误配置,是对通过@ModelAttribute自动 JSON 内容转换可以完成的工作的误解,还是 Spring 或 Jackson 中的错误。当然,如果结果是后者,我会向适当的人提出问题。

我在将 a 添加@ModelAttribute到控制器的处理程序方法时遇到了问题。该方法的目的是公开一个从表单或先前提交中填充的 bean,但我可以在不实际将数据提交到 bean 的情况下重现该问题。

我正在使用 Spring mvc-showcase 示例。它目前使用的是 Spring 3.1,但我第一次遇到并且能够在我的 3.0.5 设置中重现此问题。mvc-showcase 示例使用了一个非常标准的 servlet-context.xml:

servlet-context.xml


文件中controllers.xml引用的只是为根路径设置相关的组件扫描和视图控制器。相关片段如下。

控制器.xml


我试图提供的测试 bean 是一个非常简单的 POJO。

TestBean.java


最后是控制器,这也很简单。

测试控制器.java


如果我通过映射路径调用控制器/mvc-showcase/test/beanOnly,我会得到 bean 的 JSON 表示,正如预期的那样。调用withoutModel处理程序会传递Model与调用关联的 Spring 对象的 JSON 表示。它在返回值中包含来自初始声明的隐含@ModelAttribute,但该方法无法使用该 bean。例如,如果我希望处理表单提交的结果并返回 JSON 响应消息,那么我需要该属性。

最后一种方法添加了@ModelAttribute,这就是麻烦出现的地方。调用/mvc-showcase/test/withModel会导致异常。

在我的 3.0.5 安装中,由于缺少 FormattingConversionService 的序列化程序而导致出现 JsonMappingException。在 3.1.0 示例中,该异常是由 DefaultConversionService 缺少序列化程序引起的。我将在此处包括 3.1 例外;即使路径有点不同,它似乎也有相同的根本原因。

3.1 org.codehaus.jackson.map.JsonMappingException

那么,是否有一些我遗漏的配置应该允许杰克逊转换器正确处理从@ModelAttribute方法签名中的处理程序派生的响应?如果没有,关于这更可能是 Spring 错误还是 Jackson 错误有什么想法吗?在这一点上,我倾向于春天。

0 投票
2 回答
4662 浏览

spring-mvc - Spring MVC、Tiles、多个控制器

我正在为即将到来的项目试验 Spring MVC。我需要应用程序中的一些网页来呈现多个可重用的“组件”,并认为 Tiles 应该帮助我完成这个?每个组件都有自己的控制器。

我放在一起的例子只是部分工作。这是一个有 3 个图块的页面。第三个图块有一个控制器,它试图将一个 ArrayList(通过 @ModelAttribute 注释)返回给客户端,但是当视图作为图块包含时,ArrayList 是空的。

这是 *-servlet.xml 中的图块设置:

这是我的瓷砖配置(tiles.xml):

这是相关磁贴背后的 JSP 代码。“widgetsList”表达式是绑定到控制器方法的,但是当这个视图被包含为一个 tile 时返回为空。

这是控制器:

当我直接访问视图“widgets.jsp”时,“widgetsList”属性被填充,只有当它作为一个平铺添加时它才返回任何内容。

0 投票
1 回答
6536 浏览

java - 在@ModelAttribute 方法中访问时@RequestParam 为空

我正在使用一个项目,用户可以选择从新的表单提交开始,或者继续他们之前开始的表单提交。我正在使用 @ModelAttribute 表示法为新表单提交生成新对象。这很管用。现在我试图从数据库中获取信息,以根据给定的 id 在对象中预填充信息,但我遇到了障碍。我正在尝试使用 @RequestParam 来获取使用表单提交传入的 id,但 id 正在返回 null。我可以看到 id 作为请求字符串的一部分发送,但它没有发送到 @ModelAttribute 方法。这是我到目前为止所拥有的。

提交以发送 regId 的表单,以便可以预先填充表单

模型属性方法

请求映射方法

当我提交表单时,谁能帮我弄清楚为什么我的 regId 在@ModelAttruibute 方法中为空?提前致谢!

0 投票
1 回答
265 浏览

java - Spring Web MVC and newing up beans

We are working on a Spring 3.0.5 Web MVC-based application. In our code we quite often do something like this:

I think this is not necessary. But if it really wasn't, then I wonder how has this managed to slip through so many code reviews? In my understanding, if a controller method wanted a NEW SomeBean, then annotating a parameter in that method with @ModelAttribute should be enough? Spring would then use the default constructor to new up the required bean for invoking the controller method, e.g.:

here, Spring would new up an instance of SomeBean and try to data-bind into it from the POSTed data, right? There's no need for the method as shown in the first code snippet? Please can you confirm this or provide me with your thoughts on this? Would I be introducing a risk if I just went ahead and removed all these methods that do nothing other than new up an empty bean?

0 投票
1 回答
1664 浏览

java - ModelAttribute 可以是原始的吗?

我在 Spring MVC 3.0 中对 ModelAttribute 有一个奇怪的问题。当我在 localhost 部署应用程序时,它工作正常。但是当我在远程服务器上部署应用程序时,每次用户访问特定操作时它都会失败,并出现错误:

我用于在该控制器中初始化 ModelAttribute 的代码是:

据我所知,该错误无法在我的本地工作站上重现。它发生在动作被调用之前。

查看 HandlerMethodInvoker.java(第 762 行),我们看到这一行:

我的一位经验丰富的同行认为这条线会导致问题,因为原始类型 ModelAttribute(long) 没有构造函数。我认为这个原因可能是正确的,但它如何解释 Web 应用程序在我的本地服务器上运行良好?

我试图搜索以了解 ModelAttribute 是否支持原始数据类型,但没有好的结果。有没有人有这个问题的经验?

0 投票
4 回答
15668 浏览

java - 在控制器中处理后如何在 Spring MVC 中重置 @ModelAttribute?

我已经定义了一个 @ModelAttribute("mymodel")

问题是,即使我在 save 方法中重置了模型,但如果我在保存操作后重新加载页面并再次保存,模型会包含之前的所有值myModel

处理后如何重置?

0 投票
1 回答
3394 浏览

java - 如何在spring mvc3中为ModelAttribute绑定一个列表

用户.java

链接.java

用户控制器.java

用户.jsp

谁能告诉我怎么做!

0 投票
2 回答
2321 浏览

spring-mvc - ModelMap 属性未传递值

我遇到了模型图属性的问题。这是我的 xyz.jsp 文件。

和控制器类...

但是在网页上,我没有看到下拉列表中的选项。我所看到的只是一个值,上面写着“$ {section.description}”。事实上,这是html中的源代码。

关于我在这里做错了什么有什么帮助吗?谢谢!