大家都知道,在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. spring 声明式事务管理详解

    前言:spring框架对于事务管理提供了两种方案.一,编程式事务.二,声明式事务.本例主要剖析 声明式事务. 何为声明式事务: 通过spring的配置文件配置事务规则,或使用spring @Trans ...

  2. 奇怪的问题0xc000007b

    自己的程序运行debug版本正常,运行release版本main函数还未进入就弹出异常. 令我感觉很奇怪. 觉得应该就是动态库哪里有问题. 仔细检查,发现并没有缺什么动态库.也不存在版本问题. 最后我 ...

  3. 创建github仓库的gh-pages分支

    用git symbolic-ref命令将当前工作分支由master切换到一个尚不存在的分支gh-pages. $ git symbolic-ref HEAD refs/heads/gh-pages 删 ...

  4. HDU 1384 Intervals &洛谷[P1250]种树

    差分约束 差分约束的裸题,关键在于如何建图 我们可以把题目中给出的区间端点作为图上的点,此处应注意,由于区间中被标记的点的个数满足区间加法,这里与前缀和类似,对于区间[L..R]来说,我们加入一条从L ...

  5. b继承a

    有下面这样的一段代码: function a(){ this.foo = function(){ console.log('foo'); } } var b = {}; 请问如何让b继承a? b.__ ...

  6. 关于JavaScript的事件处理一些知识

    <JS事件处理> Event对象详细信息:http://www.w3school.com.cn/jsref/dom_obj_event.asp JS原生支持3中绑定事件方式: 1.以标签属 ...

  7. [Python Study Notes]内存信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. .NET Core UI框架Avalonia

    .NET Core UI框架Avalonia,Avalonia是一个基于WPF XAML的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Lin ...

  9. linux打印彩色字

    echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m T ...

  10. MySQL的字符编码设置

    -- 创建数据库时,设置数据库的编码方式 -- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为 ...