在springMVC的controller层获取view层的参数的方式
方法一:request.getParameter("name")
方法二:注解@RequestParam
@RequestMapping("testRequestParam") //注解的方式 public String filesUpload(@RequestParam(value="inputStr", required=false) String inputStr, HttpServletRequest request) { System.out.println(inputStr); //request.getParameter int inputInt = Integer.valueOf(request.getParameter("inputInt")); System.out.println(inputInt); // ......省略 return "index"; }
前端代码
<form action="/gadget/testRequestParam" method="post"> 参数inputStr:<input type="text" name="inputStr"> 参数intputInt:<input type="text" name="inputInt">
<button>提交</button> </form>
----说明在这里----------------------------------------------------------------------
1.
1.(误人子弟) :直接写@RequestParam就行了,会把请求中同名参数绑定到方法上。
2.(正确):如果参数名和变量名不一致,可以使用@RequestParam(name),告诉spring,使用指定名字入参。
这种讲法明明是错误的。只有在debug模式编译时,参数名才会保留在class文件中,spring由此可以反射绑定。我们的应用明显不可能在debug模式下打包。因此第一种误人子弟啊,老师告诉你很简单的默认值做法是错误的,第二种方式才是正确的写法。
2.
required = true --> 必须传参数
required = false --> 可以没有参数,当没有参数的时候会给value赋值为null
3、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有 @RequestMapping("testRequestParam") public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)
作者:水车
出处:https://www.cnblogs.com/shuiche/p/5878065.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
推荐一个激活软件下载站:mac.shuiche.cc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现