- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个项目,用户可以选择从新的表单提交开始,或继续他们之前开始的表单提交。我使用 @ModelAttribute 表示法为新表单提交生成新对象。这非常有效。现在,我试图从数据库中获取信息,以根据给定的 id 预先填充对象中的信息,但我遇到了障碍。我试图使用 @RequestParam 来获取使用表单提交传递的 id,但 id 返回 null。我可以看到 id 是作为请求字符串的一部分发送的,但它没有发送到 @ModelAttribute 方法。这是我到目前为止所拥有的。
提交表单以发送 regId,以便可以预先填充表单
<form id="preregistration" action="/Homepage/Pre-Registration" method="post">
<input type="text" name="view" id="view" value="preprocess"/>
<select name="regId" id="regId">
<option value="0">Select</option>
<option value="1234">1234</option>
<option value="4567">4567</option>
</select>
<input type="submit" name="submit" id="submit" value="Submit"/>
</form>
模型属性方法
@ModelAttribute("event")
public Event createDefaultEvent(@RequestParam(required = false) Integer regId){
log.debug("regId: {}", regId);
if (regId == null){
log.debug("make new event object");
return new Event();
} else {
log.debug("retrieve event with id: {}", regId);
return eventDao.get(regId);
}
}
请求映射方法
@RequestMapping(params = "view=preprocess")
public String getPreProcessInformation(@ModelAttribute("event") Event event)
throws Exception{
return "redirect:/preregistration.do?"+Page.EVENT.getView();
}
任何人都可以帮我弄清楚为什么当我提交表单时我的 regId 在 @ModelAttruibute 方法中为空吗?提前致谢!
最佳答案
您需要告诉它您要读取的参数名称是什么:
@RequestParam(value="regId", required = false)
方法参数的名称不能在运行时通过反射获得。 Spring 无法识别出您在 java 代码中将参数命名为“regId”,您需要这样告诉它。
编辑:
还有一些更学术的废话,ModelAttribute 方法最适合用于提供固定在您正在构建的 View 范围内的引用数据。您计划将表单字段绑定(bind)到的事务项通常应由实际的请求处理程序方法生成。如果您使用 OpenSession/EntityManagerInView 过滤器和/或 @SessionAttributes 注释,这一点变得尤为重要。
关于java - 在@ModelAttribute方法中访问时@RequestParam为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194856/
所以我目前正在使用 Spring 构建一个 Multipart-Fileupload。我想创建尽可能通用的 Controller ,以便为我自己的模块化 Controller 应用程序提供良好的开端。
@RequestParam参数丢失 改动过一版代码之后, 发现@RequestParam注解的参数经常丢失. 首先确认前端确实把参数传过来了,用curl直接请求接口, 发现有时候会出现参数丢失,
概述 在这个快速教程中,我们将探索 Spring 的 @RequestParam 注解。 简单地说,我们可以使用 @RequestParam 从请求中提取查询参数、表单参数甚至文件。我们将讨论如何使用
我的@Restcontroller 中有以下方法: @GetMapping public List getByParameterOrAll( @RequestParam(value =
大家好!我有一个关于在 @RestController 中使用 @RequestParam 的问题。我想知道如何从客户端获取@RequestParam。服务器代码(@RestController):
我正在阅读 documentation Spring MVC 中的 @RequestParam 注释。 名称和值属性有什么区别? 文档说: value : Alias for name(). name
我正在尝试在我的 javascript 中获取一个 Java 对象。我正在使用 ajax 请求来获取该对象。这是我的代码: @RequestMapping(path = "/sendSMS", met
这是我在 stackoverflow 上提出的第一个问题,所以请温柔点:) 现有 GET 端点可转换为 POST。它需要扩展以接受包含 JSON 编码数据的查询参数 filterKeys。这种方法不是
假设我在 Spring Boot Controller 中有一个 GET 端点,它接受一个对象作为 @RequestParam @GetMapping(value = "/foos") public
我刚刚发现,即使我省略了 @RequestParam organization 上的注释参数,Spring仍然能够绑定(bind)它。 @RequestMapping(value="", 方法 = R
我有我的 RequestParam,我需要验证它,但是 mu 自定义验证不适用,我的 Controller @RestController @Validated class ExchangeContr
我正在 Spring 中构建一个 API,我有一个简单的问题: 我想在对下面的这些参数执行一些逻辑之前检查它们是否包含值。 我是 Spring 新手 - 有没有办法将这些值“获取”到某种数据结构中,以
我正在使用 Spring MVC 框架做一个 REST 服务。 我有一个方法: @RequestMapping("/rest/{tableName}", method = RequestMethod.
我有一个 Get 端点,它接受一个查询字符串作为请求参数。端点的问题是请求参数字符串可以包含像 ?,/等导致问题的字符。有什么方法可以将包含 ?,/等的字符串映射到 rest Controller 中
有没有办法在不检查每个函数的情况下使用 spring 验证请求参数?例如, Controller 中的每个方法都会生成元素列表,并且每个方法都接受“from”和“to”参数,因此验证是: from >
SpringMvc 中@RequestParam注解使用 建议使用包装类型来代替基本数据类型 ?
@RequestParam 绑定List参数 今天遇到了一个问题 比较尴尬。我写了一个接口,参数用@RequestParam接收,是一个List<String>。用postman可以
目录 基于name和value属性的区别 RequestParam内部有4个参数 @RequestParam,参数是否必须传的问题
1、源码展示 ? 1
配置全局乱码过滤器 参数绑定注解@RequestParam 注解@RequestParam的参数使用说明 获得Restful风格的参数 自定义类型转换器 自定义转换器的开发步骤: 获得Servlet相
我是一名优秀的程序员,十分优秀!