问题标签 [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 投票
1 回答
959 浏览

java - Spring 3.1.0 mvc 绑定模型属性以及 requestbody

我是 Spring 3.1.0 的新手,正在尝试创建一个应用程序,它可以作为 Web 应用程序和 Web 服务公开。对于我使用@ModelAttribute. 我还想通过任何海报公开这种可以使用与 XML 相同的对象的方法。

我应该同时使用两者@ModelAttribute@RequestBody?我已经在@RequestMapping注释中添加了 consumes 属性。

0 投票
2 回答
12539 浏览

forms - Spring MVC ModelAttribute 字段为 Null 而不是表单输入值

我正在尝试制作一个将发布 CardRequestResource 的表单:

在我的控制器中,我首先加载 JSP 并向 ModelMap 添加一个空的 CardRequestResource:

我的 JSP 使用 cardRequestResource 模型属性构建表单:

Javascript 函数进行 AJAX 调用以填充表单值:

此时用户可以更新评论文本区域,并且隐藏的输入可能会根据用户在字段中输入的内容而改变。然后在提交表单时,我调用以下 Javascript 函数:

警报显示字段正确填充了最初由 AJAX/Javascript 或用户加载的数据。但是,当我到达处理帖子的控制器中的处理程序时,CardRequestResource 是非空的,但其中的每个字段都是空的!

处理程序代码:

0 投票
1 回答
873 浏览

spring - 在spring webflow流程中使用uploadify

这是我在这里的第一个问题,所以如果我做错了什么,请指出正确的方向。我在尝试在 spring webflow 流中使用基于 uploadify flash 的多文件上传器时遇到了一些困难。以下是该案例的详细说明:

这是我正在使用的库版本:

spring-webflow 2.3.2 spring-web 3.2.1 springwebmvc 3.2.1 Uploadify v3.2 commons-fileupload 1.2.2 commons-io 2.4 commons-codec 1.8 apache tile 3.0.1

网络流配置

流定义

现在,在 cadv3 视图上,我有一个 uplodify 集成。所有必需的 js、css 等库都放入页面中,并且有一个 form:form 标签,uploadify 使用它来上传文件。这是 cadv3.jsp:

这是初始化uploadify的javascript代码:

控制器处理 /fileUpload url:

和上传豆:

}

在这里,问题是 UploadBean 的文件数据永远不会被 uploadify 提交填充。它的所有字段都是空的。(虚拟字段仅用于测试目的)使用流范围变量(flowScope.uploadBean)作为表单模型属性值是否错误?或者是否禁止在 webflow 流中进行 ajax 提交(uploadify 调用 ajax 来提交文件输入 AFAIK)?

顺便说一句,我可以在仅弹簧 mvc 的环境中使用 uploadify,如下所述:http://springsourcery.org/springSourcery/content/viewContent,1,32.html?random=4063 可能 我做错了与弹簧有关的事情webflow,所有的帮助将不胜感激,在此先感谢。

0 投票
2 回答
49 浏览

ruby-on-rails - 以 HTML 形式或在调用 .new(*attrs) 时分配属性

我参与过许多项目,在这些项目中我看到了 HTML 表单中新对象的属性设置以及调用时Model.new(foo: 'bar')

以“最佳实践”的方式这样做的正确方法是什么?

形式:

实例变量:

0 投票
1 回答
1391 浏览

java - 添加前检查控制器方法中是否存在模态属性

我有一个弹簧控制器,我想要一种方法来处理某个请求,然后重定向到另一个并保留一些附加值,所以我将在第一个上使用 RedirectAttributes,在第二个上使用 @ModalAttribute,但事实是我不会总是有这个模态属性存在,所以我只想在它存在时添加它。

并且重定向一个是

但是这里@ModalAttribute 失败了,因为它有时不存在,有时我在没有loansList 的情况下请求main,如何仅在它存在时才添加它?或者如何正确地做到这一点?

0 投票
1 回答
13835 浏览

java - Spring表单ModelAttribute字段验证以避免400 Bad Request Error

我有一个ArticleFormModel正常发送的包含数据,html form它是由 Spring 使用注释注入的@ModelAttribute,即

在某种程度上,一切都运行良好。问题是ArticleFormModel包含一个double字段(protected,使用普通设置器设置)。只要用户发送的数据是数字,一切都可以正常工作。当他们输入一个单词时,我得到的只是400 Bad Request Http Error.

我已经WebDataBinder为此控制器注册了一个

validator自定义类实现接口的实例在哪里,org.springframework.validation.Validator但我不知道下一步该做什么。我希望能够解析模型,获取有效的 HTTP 响应并在表单中显示错误消息。该initBinder()方法被调用,我可以从中调用validator.validate(),但它不会改变错误(对于那个错误的数据)。

我知道我可以使用 setter 来解析字符串,检查它是否是一个数字,如果不是,则将该信息存储在一个变量中,然后在验证期间检索该变量,但这似乎工作量太大。必须有一种更简单的方法来强制字段上的类型而不会出错。另外,问题在于数据绑定,而不是验证,所以我觉得应该放在各自的代码层。

我也在考虑实施java.beans.PropertyEditor和调用binder.registerCustomEditor(),但我缺乏可靠的知识来源。

客户端验证(通过 JavaScript 检查数据是否为数字)是不可能的。

TL;博士:

如何在@ModelAttribute不获取的情况下强制字段为项目的特定类型400 Bad Request Http Error

0 投票
2 回答
279 浏览

java - @ModelAttribute 在显示 JSP 之前执行

我在我的控制器中定义了@ModelAttribute,它需要根据请求的方法输出来执行。因此,当我尝试从 JSP 访问我的 ModelAttribute 时,它​​会产生先前的结果。例如下面:

当我在我的 JSP 中使用 ${Address} 时,它显示“测试地址”,我需要在我的 JSP 中“更改地址”。但是我的 ModelAttribute 是在加载 jsp 之后执行的。是否有可能使用@ModelAttribute 使这成为可能,如果可以,那么如何。?. 除了@ModelAttribute.,还有其他方法可以实现这一点吗?

0 投票
2 回答
1457 浏览

java - Spring ModelAttribute 在注销后显示旧值

我正在使用 Spring 开发一个应用程序。我在登录和注销时遇到问题。我使用登录凭据(例如用户名:john,pass:doe)登录应用程序并转到管理页面,然后从应用程序中注销。但是这次我使用了不同的登录凭据(例如用户名:jack,pass:white)进行登录。当我转到管理页面并@ModelAttribute(value = "myUser") User loggedInUserAdminController显示旧用户值时调试我的应用程序时。我不明白为什么会这样。任何人都可以帮忙吗?

我的源代码如下:

管理员控制器

0 投票
1 回答
2487 浏览

jquery - Spring MVC 模型属性未重置

在这里快速提问(希望如此)。我正在开发一个 web 应用程序,并尝试使用 ajax 进行提交后提交。这很好,第一次......在同一会话期间的第二次尝试中,发送到服务器的模型属性是第一个。不知何故,即使我发送了模型的新实例,它也没有被重置。让我添加一些代码:

控制器:

Productores.jsp(这个页面包含一个显示所有生产者的网格,并有一个按钮来显示一个表单以添加一个,作为模式对话框。这是使用 jquery ui 对话框。)

Productor.jsp(这是将在模式对话框中弹出的表单)

Ingresar</button> --> Ingresar Cancelar

和里面的ajax帖子

}

我是否需要在流程中的某个地方专门销毁模型属性才能重置它?还是我在这里做的很糟糕?

提前致谢!

0 投票
1 回答
1868 浏览

java - ModelAttribute 未映射 application/x-www-form-urlencoded

我有一个有点简单的控制器配置如下:

使用从这里获取的代码片段,我为控制器制作了一个测试用例,如下所示:

我只是打印出结果。在任何情况下,ModelAttribute“rawArticle”在进入控制器的实现时总是以 null 结束,但是当我使用它时:

映射实际上就像一个魅力。我想要的是正确处理第一个测试,因为它看起来很错误,以至于它没有像我认为的那样被映射,类似地,控制器主要由网络上的另一个程序使用 apache http(它以某种方式自动通过urlencoded 形式)。

你们知道我可能在哪里犯了错误吗?如果您认为需要它来评估问题,我不介意发布我的上下文配置的片段(或者我的 pom,但只是告诉我我可能错过了哪些库就足够了)

更新:我在测试 1 中将 POJO 插入会话中犯了一个错误,我只是在这里删除了它。问题是一样的。