关于使用srping @RequestParam 容易出错的地方
大家都知道,在spring中的@RequestParam主要用户传递参数用的,具体的解释就是将请求参数去数据映射到功能处理方法的参数上。其中包括三个参数:
value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。
具体的用法为(我以form表单提交为例):
html代码:
<form action="localhost:8080/vincent/admin/video/add.htm" method="post" enctype="multipart/form-data" name="fom" id="fom" >
提交文字内容:<input name="name" id="name" />
提交文件:<input name="file" id="file" type="file"/>
提交按钮:<input type="button" name="Submit" value="提交" onclick="submit()"/>
</form>
js代码:
<script>
function submit() {
var name = $f("name").value; //获得文字内容,用于判断用户输入了没有
if(name == null || name == "") {
alert("菜单名称不能为空!");
return;
}
$f("fom").submit(); //如果判断都没有问题,那么就把这些文字提交到web端
}
</script>
服务器端(java):
@Controller
@RequestMapping("/admin/video") //要与form表单提交上来的路径保持一致(第一个路径)
public class VideoController{
@RequestMapping(method = RequestMethod.POST, value="add") // 最后一个路径
public ModelAndView add(@RequestParam("file") MultipartFile[] file,HttpServletRequest request){
//(重点:)看见上面@requestParam里面的值和MultipartFile[]的值没(就是:file),这个值一定要与form里面提交的一模一样才行,因为这个是文件类型,所以要用MultipartFile[]参数,除此之外,还有一点值得提醒的是:这个名字不能为特殊的符号,像#、_、*等等的都会报错。
try { //抛出异常,防止错误
//得到文字内容
String name=request.getParameter("name"); //通过httpservletRequest得到从form端提交上来的文字内容
System.out.println(video.getName()); //打印出来看看
//得到文件(以图片为例)内容,并存放在对应位置(前提是这个位置是已经存在的)
if (!myfile.isEmpty()) { //判断提交的文件是不是空的,如果不是空的就存放在一定位置
String realPath = request.getSession().getServletContext().getRealPath(""); //设置存放图片的路径
realPath += "/images/news/"; //存放图片的路径
String fileName = myfile.getOriginalFilename(); //得到完整到的图片名称
System.out.println(fileName); //打印出来看看
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
有不懂的可以相互交流(qq):1434475404
弱弱的来一句:其实我也是菜鸟一枚~
关于使用srping @RequestParam 容易出错的地方的更多相关文章
- python序列元素引用容易出错的地方
python序列分列表和元组,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.举个简单的例子,a1是一个元组,a2是一个列表 ...
- 使用Storyboard拖线容易出错的地方
使用Storyboard拖线容易出错的地方: 在Storyboard中,选中某个控件,按住ctrl键进行拖线,建立Outlet和Action后,不能手动再去修改自动生成的代码,然后再次进行连线,这样会 ...
- 如果$.ajax函数迟迟得不到响应,那么最有可能出错的地方是请求参数写错了
如下的$.ajax函数 $.ajax({ url: url,// 请求的地址 data:{id:id,pieceId:pieceId,pieceDesc:pieceDesc,actualStock:a ...
- Java向前引用容易出错的地方
所谓向前引用,就是在定义类.接口.方法.变量之前使用它们,例如, class MyClass { void method() { System.out.println(myvar); } String ...
- c语言几个松散的地方(不足的地方,不严谨的地方,它容易出错的地方)。
c语言是面向过程的语言,是弱类型语言,c语言的源代码基本就是无数个函数的堆砌.即很多函数就组成c语言源代码了,也即它的源代码基本就是函数构成的. C语言里面的test()和test(void)是不一样 ...
- delphi中 dataset容易出错的地方
最近写delphi项目,用到的数据集中的dataset,一直修改exception啊,写下过程. 在对数据集进行任何操作之前,首先要打开数据集.要打开数据集,可以把Active属性设为True,例如: ...
- linux 上操作常用的命苦与出错的地方
帮助信息 ./configure -help|grep mysql 出错提示安装libxml2 tar -zxvf libxml2xxxx.tar cd libxml2xxx ./configure ...
- 转: jdbc连接数据库需要注意和出错的地方
* 1.数据库登录模式不能只使用windows登录模式,要采取混合模式登录, * 并记住相应的密码和账户: * 2.连接数据库后一定要记得关闭资源,否则就会造成资源浪费. * 关闭的时候也要注意顺序, ...
- sotower1.5-LS_工作流容易出错的地方
流程代码如下: 1>LeiSheng.WorkFlow.FlowInfo fInfo = new LeiSheng.WorkFlow.FlowInfo(); 2&g ...
随机推荐
- awk ‘! a[$0]++’ 去重
awk '! a[$0]++' 怎么理解? 这是一个非常经典的去重复项的awk语句,虽然短小,不过涉及到了不少知识点,下面一一解读: <1> :"!" 即非. < ...
- 【转】wget(二)
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- spring boot热部署
1.pom配置 参考:http://412887952-qq-com.iteye.com/blog/2300313 2.intellij配置 参考:http://blog.csdn.net/wjc47 ...
- python _init_学习
今天继续学习python,接触了_init_,感觉很好玩照着教程手写了一些代码,感觉编程语言是互通的,只是换个了形式来表达 #coding=utf-8#类似于java的构造器class Person: ...
- 配置redis开机自启动和监听
redis安装好后,每次手动启动很不方便,配置开机自启动. 方法一:设置启动命令到/etc/rc.d/rc.local rc.local文件是系统全局脚本文件,会在其他开机进程脚本文件执行完毕后执行该 ...
- java对象序列化、反序列化
平时我们在Java内存中的对象,是无法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即存储对象中的状态.一 ...
- CF 570D. Tree Requests [dsu on tree]
传送门 题意: 一棵树,询问某棵子树指定深度的点能否构成回文 当然不用dsu on tree也可以做 dsu on tree的话,维护当前每一个深度每种字母出现次数和字母数,我直接用了二进制.... ...
- linux指令札记
1.有关文件压缩解压缩:Linux下自带了一个unzip的程序可以解压缩文件,解压命令是:unzip filename.zip 同样也提供了一个zip程序压缩zip文件,命令是 zip filenam ...
- POJ 2826 An Easy Problem?![线段]
An Easy Problem?! Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12970 Accepted: 199 ...
- 初识RESTful
前言:两个月没写博客了,我真是太贱了哈哈.先简单说下我这两个月做了啥吧.8月26号从BIGO离职,回学校准备秋招.9月初时才发现已经错过秋招内推时间,其实秋招内推拿offer是有较大概率的.9月才开始 ...