问题标签 [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.
forms - 在同一个@Controller 中使用多个@ModelAttribute 方法
我在 Spring MVC 3 上有一个包含两种不同表单(有两个不同提交)的页面,我对 @ModelAttribute 方法有疑问。当我在同一个控制器上有两个时,它们并不总是执行使模型为 NULL。
编码:
不知道为什么,有时一切正常,每个方法都执行了,但有时它们没有执行。
更新:我有两个不同的控制器有同样的问题,所以它一定是 Spring 上的错误或者我做错了什么。
谢谢。
spring - Spring @ModelAttribute 和 @SessionAttribute 行为
SessionAttributes
使用和ModelAttributes
在一起的最佳方式是什么?例如,当我使用标记ModelAttribute
方法和SessionAttribute
类时,POJO 被添加到会话中,但是在其他使用相同名称的控制器中,ModelAttribute
它不会检索我想要的,而是取一个出席会议。
ModelAttributes
那么,管理with行为的最佳方法是SessionAttributes
什么?谢谢。
forms - 如何动态地为中的 commandName 属性赋值春天的标签
我想使用以下JSTL代码将字符串值动态添加到 commandName 属性。
看起来 spring 将整个代码解释为字符串值,而不是分配值“add_item”或“update_item”。我也尝试使用 javascript 代码,但发现它给出的错误与客户端技术相同。谁能告诉我我的问题在哪里?
java - 页面无法加载,Bean 名称 ' ' 的 BindingResult 或普通目标对象可用作请求属性“
“ Bean name 'relationForm' 的 BindingResult 和普通目标对象都不能用作请求属性” 我对上面的错误有一些问题,我将在此处发布代码的重要部分。
感谢你们的任何想法controller.java
jsp 文件
spring - Spring MVC SessionAttributes 与 ModelAttribute 用法
我最近正在尝试学习 Spring MVC。看来我不太了解@SessionAttributes 和@ModelAttribute 注释的功能。
这是我的控制器的一部分:
基本上有一个列出所有项目的jsp。Wenn 用户点击特定商品的“addToCart”,该商品将被添加到购物车列表中。我最好先解释一下我对这个控制器的理解,你可以告诉我我没有得到什么。
第一次调用 ItemController 时,会执行 createShoppingCart 和 createCount 方法,并将返回参数保存在 session 中,名称分别为“shoppingCart”和“count”。当用户调用 url ".../addToCart/1" 时,会调用 addToCart 方法。由于我需要来自会话的方法签名 2 值,因此控制器将在会话中查看这些值是否已经存在。是的。。此时 shoppingCart 是一个空列表,count 为 0。在方法体中,将选中的 item 添加到 list,count 为 2。jsp 将再次显示。
问题是,jsp 可以看到列表 shoppingCart 现在不为空。但计数仍为 0。当我将商品添加到购物篮时,我可以在 jsp 上看到 shoppingCart 已装满商品,但计数的值始终为 0。
实际上 shoppingCart 和 count 对象之间没有任何区别..我不明白为什么它会这样。我首先怀疑count类型是原始int,然后我将其更改为Integer typ,仍然没有解决问题。
spring - Spring MVC - HttpSession.setAttribute 和 model.addObject 之间的区别
我最近正在尝试学习 Spring MVC。看来我不太了解@ModelAttribute 注解和HttpSession 的功能。
ShoppingCart 和 count 是会话属性。
问题出在 deleteFromCart 方法中。我从会话中获取计数,重新分配它并在会话中覆盖它。但是我在 jsp上看不到 count 的更新值。但是,可以看到更新后的 shoppingCart 对象已更新,尽管我没有覆盖会话对象(因为该对象与已经在会话中的对象相同)。
但是为什么计数没有更新,虽然我用 session.setAttribute 覆盖它?当我将新的计数对象添加到模型(model.addObject(“count”,count))时,我可以看到更新的计数值。但是为什么 session.setAttribute 没有给出相同的结果呢?
spring - Spring MVC 保留未公开属性模型的值
我有一个模型类:
控制器:
binderInput的视图(jspx):
中的 DAO
UserLogin.findUserLogin(1L);
将返回标题为“先生”和用户名“史密斯”的用户。我浏览localhost:8080/myWeb/dummy
并且视图在标题字段中显示“先生”,然后我将标题更新为“先生”并提交表格。
在 binderResult 我希望看到
但实际上我得到了
有没有办法保留未编辑的 DAO 中的属性值(对于未在 jspx 视图中显示的字段)?
我想到了隐藏字段,但是在查看 html 源代码时可以查看用户名并且可以对其进行操作,所以我认为它不能成为解决方案。
我已经尝试过
@SessionAttribute
了,我认为将模型保留在会话中是有意义的,然后 springmodelAttribute
只会填充从视图接收到的属性到会话模型。但是还是一样,标题更改为先生,但用户名为空。我阅读
@InitBinder
并尝试
dataBinder.setAllowedFields(new String[]{"title"});
但没有帮助,它只是过滤属性而不保留其他不允许字段的值
我开始认为我必须手动执行以下操作:
有没有办法像我最初期望的那样在 Spring 中保留未编辑的属性?
谢谢你的帮助!
==================================================== ===
gouki 询问我的第二点的代码:
并在视图中将 modelAttribute 更改为userSession:
<form:form action="dummy/binderResult" method="POST" modelAttribute="userSession">
==================================================== ===
问题
已解决
我读到的一些链接与此问题中已接受的答案相关:
spring - 代理控制器中的 Spring MVC @modelattribute
我有一个控制器,它有一个接口作为代理
界面如下:
问题是,不会随时调用 getCommand() 方法。我也尝试过将模型属性注释移动到实现类,但无济于事。
我哪里错了?
jsp - Spring 3 - 在 JSP 中访问模型值
我有一个 JSP,我试图从我的模型中打印出值,但在我引用这些值的地方没有出现任何内容。这是我设置值的控制器方法。
这是我引用模型属性的 JSP 部分。
这是我的输出。而不是实际值,在属性的位置没有打印任何内容。
spring-mvc - How to disable some request calling @ModelAttribute method in the same controller?
I am using Spring3 MVC. In my controller, I have many methods such as create, edit, and search.
In my form in the view, I need a list which contains some values from db. So I add a following method
```
```
Then, every request will call this method first and put the 'types' object in to my model object. But for some request, such like searh or listAll. I don't want to this method be called. How can I filter some request for the method which has @ModelAttribute("types") on it?
```
```
I don't want search
request call populateTypes
first since I don't need populateTypes
in my search
view.