@RequestMapping(value = "/detail", method = RequestMethod.GET)
public String newDetail(@RequestParam(value="id",defaultValue="1",required=true) int id,@RequestParam(value="typeId",defaultValue="2",required=true) int typeId) {
NewsInfoEntity newsInfoEntity = newsInfoService.findById(id);
NewsTypeEntity newsTypeEntity = newsTypeService.findById(typeId);
this.request.setAttribute("newsInfoEntity", newsInfoEntity);
this.request.setAttribute("newsTypeEntity", newsTypeEntity);
return "news_detail";
}

首先呢是springMVC默认支持的绑定类型有:

HttpServletReequest对象:通过request对象可以获取参数信息

HttpservletResponse对象:通过response对象可以处理响应信息

HTTPSession对象:获取session中存储的对象

Model/ModelMap:Model是一个接口,ModelMap是一个接口的实现。作用是将模型数据填充到request域。

简单类型的参数绑定:

1、直接在controller中定义一个变量,但是此种传输方式有一个限制就是参数名和请求中的参数名必须保持一致,否则是接收不到数据的。

比如说:
Controller : public void controllerTest(Integer id){}
request : http://localhost:8080/springMvcTest/controllerTest?id=2; 在这儿必须写成"id=2"而不能写成“id”这个属性名不可变

2、使用@RequestParam进行参数绑定,在使用这个注解进行绑定的时候,参数名无需和请求中的参数名保持一致。

比如说:
Controller : public void controllerTest(@RequestParam(value="id") Integer goods_id){}
@RequestParam(value="id") Integer goods_id 表示将请求中的id属性绑定到goods_id这个参数上
request : http://localhost:8080/springDemo/controllerTest?id=2; 在这儿传入的参数名为id

在@RequestParam 中有一个属性叫做required  @RequestParam(required=true)表示当前参数必须传入
@RequestParam 中还有一个属性叫做defaultValue 表示默认值 @RequestParam(defaultValue="aaa"),你懂得  不用多做介绍

3、POJO的绑定

在Controller中可以直接定义POJO类型的参数来接收请求中的数据。

这种使用方式的条件是:在页面中input的name属性的值必须和POJO的属性一一对应!

spring mvc 绑定参数据默认值,是否必传,(RequestParam(value="id",defaultValue="1",required=true) )的更多相关文章

  1. spring mvc绑定参数之 类型转换 有三种方式:

    spring mvc绑定参数之类型转换有三种方式: 1.实体类中加日期格式化注解(上次做项目使用的这种.简单,但有缺点,是一种局部的处理方式,只能在本实体类中使用.方法三是全局的.) @DateTim ...

  2. spring mvc绑定参数之日期类型转换

    问题复现步骤: 1.提交表单,参数为: 2.接收参数类型为product实体类,如下 3.错误日志如下: org.springframework.validation.BindException: o ...

  3. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  4. (转)js函数参数设置默认值

    原文:http://www.cnblogs.com/RightDear/archive/2013/06/26/3156652.html js函数参数设置默认值   php有个很方便的用法是在定义函数时 ...

  5. js函数参数设置默认值

    php有个很方便的用法是在定义函数时可以直接给参数设默认值,如: function simue ($a=1,$b=2){  return $a+$b;}echo simue(); //输出3echo ...

  6. Python中定义函数时参数有默认值的小陷阱

    在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...

  7. JS中给函数参数添加默认值

    最近在Codewars上面看到一道很好的题目,要求用JS写一个函数defaultArguments,用来给指定的函数的某些参数添加默认值.举例来说就是: // foo函数有一个参数,名为x var f ...

  8. 学习《深入理解C#》—— 可空类型、可选参数和默认值 (第一章1.3)

    目录 C#可空类型 C# 可选参数和默认值 C# 可空类型 在日常生活中,相信大家都离不开手机,低头族啊!哈哈... 假如手机厂商生产了一款新手机,暂时还未定价,在C#1中我们该怎么做呢? 常见的解决 ...

  9. ES6 函数参数的默认值

    基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采取变通的方法. function log(x,y){ y = y||'world'; console.log(x,y); } log('k ...

随机推荐

  1. vue-router实现组件间的跳转---参数传递

    四.通过VueRouter来实现组件之间的跳转:参数的传递 login ---用户名--->main ①明确发送方和接收方②配置接收方的路由地址 {path:'/myTest',componen ...

  2. CNN文本分类

    CNN用于文本分类本就是一个不完美的解决方案,因为CNN要求输入都是一定长度的,而对于文本分类问题,文本序列是不定长的,RNN可以完美解决序列不定长问题, 因为RNN不要求输入是一定长度的.那么对于C ...

  3. 应用安全 - 无文件式攻击 - 工具型攻击 - PowerShell - 汇总

    PowerShell 使用 | 命令 win+r ->powershell #启动Powershell窗口 get-host #查看版本 Get-Host | Select-Object Ver ...

  4. 【Qt开发】设置Qt应用程序图标

    [Qt开发]设置Qt应用程序图标 标签:[Qt开发] 首先,准备一个图标,例如:zx.ico,并新建一个文本文档,在里面添加一行: IDI_ICON1 ICON DISCARDABLE"zx ...

  5. Java基础语法-运算符

    1算术运算符 1.1运算符和表达式 运算符:对常量和变量进行操作的符号. 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式. 不同运算符链接的表达式体现的是不同类型的表达式 ...

  6. Clover的简单使用

    官网: http://cn.ejie.me 操作说明相关: 方便的 Tab 页功能 要掌握功能强大,操作简单的标签页,只需记住Ctrl+T新开页面,Ctrl+W关闭页面,Ctrl+Tab切换页面,工作 ...

  7. IF条件控制

    条件控制 定义 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块. 如下图所示 IF语句 if condition_1: statement_blo ...

  8. Maven项目的常用jar包

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. qt undefined reference to `vtable for subClass'

    1. 建立一个console工程 QT -= gui CONFIG += c++ console CONFIG -= app_bundle # The following define makes y ...

  10. 高级BASH

    Bash介绍与入门 1,简介 Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell shell是一个命令解释 ...