问题标签 [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.
spring - 测试以@ModelAttribute 作为参数的弹簧控制器方法
我正在尝试使用这种方法测试控制器:
@RequestMapping(value="/test")
public ModelAndView generateRecords(@ModelAttribute("Employee") Employee employee) {
而且我想知道如何创建一个单元测试来测试它。目前我正在使用:
在 ModelAttribute (Employee) 的 NULL 值中运行此测试结果
在进行集成测试时,有什么方法可以将模型属性对象传递给 Controller 吗?
谢谢
简单总结一下:
解决此问题的方法是选择 html 元素名称并在 MockHttpRequest 对象中填充参数值并将其传递。
例子:
redirect - 如何将模型属性从一个 Spring MVC 控制器传递到另一个控制器?
我正在从一个控制器重定向到另一个控制器。但我还需要将模型属性传递给第二个控制器。
我不想把模型放在会话中。
请帮忙。
forms - Spring @ModelAttribute 不关心 commandName
JSP:
这就是我在 Spring 中获取模型的方式:
而且我仍然可以使用weather
来进行操作,并且效果很好,例如:
我的问题是……为什么这行得通?
java - Spring MVC 3.0 模型属性继承
我不确定这在 Spring MVC 3.0 中是否可行,但我正在尝试创建一个带注释的控制器,该控制器扩展另一个控制器,其模型属性取决于父级设置的模型属性。例如:
到目前为止,我一直无法让它工作 - 它引发以下异常:
请求处理失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [java.util.List]:指定的类是接口] 根本原因 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [java.util .List]:指定的类是 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveModelAttribute(HandlerMethodInvoker.java:762) 的 org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101) 的接口。 .. ETC ...
当从 ChildModel.getNumber() 中移除对父设置的属性的依赖时(通过移除@ModelAttribute("numbers") List<Integer> numbers
参数),两个模型属性方法都会被调用。但是,ParentModel.getNumbers() 总是在 ChildModel.getNumber() 之前调用。
请让我知道我是否遗漏了一些东西以使其完全正常工作,或者这是不可能的。
提前致谢!
编辑:
经过一些更多的实验,似乎不支持让模型属性依赖于其他模型属性。我将两个模型属性方法都放入了 ParentModel 中,它充其量只能偶尔工作......偶尔的行为可能是由于反射返回方法的顺序。当 ParentModel.getNumbers() 在 ChildModel.getNumber() 之前调用时(理想的顺序),它可以正常工作。发现这一点后,我的后续问题是:有没有办法指定调用模型属性方法的顺序?
java - 如何使用重定向传递复杂的 ModelAttribute:在 Spring MVC 3.0 中
大家好,我在寻找答案时遇到问题...
用例:
在控制器中读取 Excel 电子表格。处理了 4 行工作表,第 2 行和第 3 行有一些错误,所以我跳过它们并继续进行其余的处理。但我想在处理完成后保留这些行以显示给用户。我想保留该行中的所有值以显示给用户只是为了提供足够的信息。
所以我试图做的是:
所以基本上我试图将 LinkedList 从一个 MVC 方法传递到另一个而不实际首先点击页面(除非我误解了“重定向:”的工作原理......它首先调用控制器方法是否正确?)
当我进入 bulkReview 方法的一个断点时,errorRows 是空的......那么我如何在两个方法之间保留这个值呢?
谢谢您的帮助!如果我需要澄清任何事情,请告诉我!:)
克里斯
spring - 来自jsp请求参数的Spring3 ModelAttribute
是否可以抓取各种表单组件,并将它们转化为对应的 DAO 对象?我试图避免为每个表单创建一个自定义 Bean(封装所有字段)。
前任:
目前,我必须使用 HttpRequest,提取值 (29,63),并将它们用作主键来查找正确的数据库对象。我不知道是否有一种使用 ModelAttribute 自动连接它的快速方法。
谢谢!
java - Java - Spring 3.0 MVC 和 @ModelAttribute
我需要对 Spring 3.0 MVC 和 @ModelAttribute 带注释的方法参数进行一些说明。我有一个看起来像这样的控制器:
在我的 home.jsp 上,我有一个像这样的表单,它将他的数据发送到 MyController 的 RequestMethod.POST 方法
现在如果我尝试访问 home.jsp 我得到这个异常:
为了解决这个问题,我发现我需要添加
MyController 的 Request.GET 方法的参数,即使我不会在该方法中使用 obj。例如,如果使用不同的 commandName 向 home.jsp 添加另一个表单,如下所示:
我还必须在 RequestMethod.GET 上添加该参数,现在看起来像:
或者我得到同样的例外。我要问的是这是正常的 Spring 3 MVC 行为还是我做错了什么。为什么我需要将所有 @ModelAttribute 参数放在 RequestMethod.GET 方法上?
提前感谢您的帮助
斯特凡诺
spring-mvc - @ModelAttribute 形成的模型不能在另一个控制器中使用
我的 UserController.java
我的 SuccessController.java
我没有得到"user"
模型SuccessController
,所以当我使用${user.name}
in时userSuccess.jsp
,我没有得到任何价值。
当我在第 1 行设置用户模型时,为什么我不在另一个控制器中获取此值?如果我将这个模型保存在 Session using 中@SessionAttributes
,我可以在另一个控制器中访问它。
那么使用 形成的模型的范围是什么@ModelAttribute
?
spring - 为什么在 jsp 中 ModelMap 属性的值会发生变化?
我有一个控制器如下:
ChangeUserDetails.jsp 是:
为什么当我在 jsp 中设置/更改命令对象userDetailsCmd ( userDetailsCmd.userType ) 的值时, user.userType的值总是会改变?这是因为两者都具有相同的属性名称(userType)吗?
编辑: UserCommand 类(命令对象)是:
和用户类(一个 POJO )是:
java - 为什么我在 Spring 收到此消息?“ Bean 名称 'removedTeam' 的 BindingResult 和普通目标对象都不能用作请求属性”
这是我正在编写的一个简单程序,用于理解 @RequestMapping 注释等。我有两个控制器。home 控制器是主页并呈现 home.jsp。团队控制器处理 team.jsp。主页上有一个删除团队表单,用于从数据库中删除团队对象。这工作得很好。要添加团队,用户单击将他们带到 team.jsp 的链接。在该页面上,用户可以输入新团队的数据。一旦用户输入此信息,数据库就会成功更新。函数“storeTeam”然后返回到家庭控制器中的“家”。这就是问题发生的地方:我收到此消息:
“ Bean 名称 'removedTeam' 的 BindingResult 和普通目标对象都不能用作请求属性”
当应该调用 home 函数以使用数据库内容重新填充表时,为什么在 home 控制器中调用“removeAteam”函数?以下是相关文件。谢谢您的帮助。
TeamController.java
这些是控制器,这里是视图:
主页.jsp
团队.jsp
这是 servlet 上下文:
...最后是 web.xml