大家都知道,在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 容易出错的地方的更多相关文章

  1. python序列元素引用容易出错的地方

    python序列分列表和元组,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.举个简单的例子,a1是一个元组,a2是一个列表 ...

  2. 使用Storyboard拖线容易出错的地方

    使用Storyboard拖线容易出错的地方: 在Storyboard中,选中某个控件,按住ctrl键进行拖线,建立Outlet和Action后,不能手动再去修改自动生成的代码,然后再次进行连线,这样会 ...

  3. 如果$.ajax函数迟迟得不到响应,那么最有可能出错的地方是请求参数写错了

    如下的$.ajax函数 $.ajax({ url: url,// 请求的地址 data:{id:id,pieceId:pieceId,pieceDesc:pieceDesc,actualStock:a ...

  4. Java向前引用容易出错的地方

    所谓向前引用,就是在定义类.接口.方法.变量之前使用它们,例如, class MyClass { void method() { System.out.println(myvar); } String ...

  5. c语言几个松散的地方(不足的地方,不严谨的地方,它容易出错的地方)。

    c语言是面向过程的语言,是弱类型语言,c语言的源代码基本就是无数个函数的堆砌.即很多函数就组成c语言源代码了,也即它的源代码基本就是函数构成的. C语言里面的test()和test(void)是不一样 ...

  6. delphi中 dataset容易出错的地方

    最近写delphi项目,用到的数据集中的dataset,一直修改exception啊,写下过程. 在对数据集进行任何操作之前,首先要打开数据集.要打开数据集,可以把Active属性设为True,例如: ...

  7. linux 上操作常用的命苦与出错的地方

    帮助信息 ./configure -help|grep mysql 出错提示安装libxml2 tar -zxvf libxml2xxxx.tar cd libxml2xxx ./configure ...

  8. 转: jdbc连接数据库需要注意和出错的地方

    * 1.数据库登录模式不能只使用windows登录模式,要采取混合模式登录, * 并记住相应的密码和账户: * 2.连接数据库后一定要记得关闭资源,否则就会造成资源浪费. * 关闭的时候也要注意顺序, ...

  9. sotower1.5-LS_工作流容易出错的地方

    流程代码如下: 1>LeiSheng.WorkFlow.FlowInfo fInfo = new LeiSheng.WorkFlow.FlowInfo();                2&g ...

随机推荐

  1. asp.net core 部署到服务器之后外网访问不了

    部署发现问题 今天在部署.net core的时候,发现访问http://localhost:xxxx可以,但是用外网访问并不行! 开始尝试解决问题 一开始以为是nginx的问题.各种折腾,各种改配置文 ...

  2. MapReduce寻找共同好友

    1.测试文件 A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D,E,F H:A,C,D,E ...

  3. jumpserver v0.4.0 基于 CenOS7 的安装详解

    标签(linux): jumpserver 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 笔者已经弃用Jumpserver,并自已开发了shell跳板机. sh ...

  4. Nginx+Geoserver部署所遇问题总结

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 该问题的最终解决离不开公司大拿whs先生的指点,先表示感谢. ...

  5. BSGS(Baby Steps,Giant Steps)算法详解

    BSGS(Baby Steps,Giant Steps)算法详解 简介: 此算法用于求解 Ax≡B(mod C): 由费马小定理可知: x可以在O(C)的时间内求解:  在x=c之后又会循环: 而BS ...

  6. 备忘:java在cmd中编译运行

    防止每次用的时候都想不起来 1.进入.java文件所在的路径 (cls清除控制台的命令) 2.javac编译 javac -d . demo1.java javac demo1.java 如所编译的文 ...

  7. ASP.NET MVC 播放远程服务器上的MP3文件

    问题: 做需求遇到需要播放远程服务器上的MP3音频,使用FTP去获取文件.但是一般都是在页面 <audio> 的src 中直接写文件地址来播放音频.实在不想做临时文件,折腾了半天终于可以通 ...

  8. 二、urllib进阶

    Handler处理器 和 自定义Opener opener是 urllib.request.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就 ...

  9. idea Code激活

    参考:http://blog.csdn.net/gnail_oug/article/details/70677272 1.将激活包复制到bin安装目录: 2.在安装的idea下面的bin目录下面有2个 ...

  10. 使用IntelliJ IDEA(PHPStorm)和xdebug在firefox、chrome中远程调试PHP

    很多PHP程序员都习惯于使用echo.var_dump和exit来中断和调试web应用程序,本文主要介绍结合xdebug.IntelliJ IDEA.Firefox/chrome/IE来远程调试PHP ...