2019/11/6 spingmvc学习

1.如何获取参数,如何获取参数

	****//绑定简单参数
//	@RequestMapping("/editItem")
	public ModelAndView selecById(HttpServletRequest req) {
     // 创建页面需要显示的商品数据
		String strid = req.getParameter("id");
		Integer id = Integer.valueOf(strid);
     	Items item = this.itemService.selecById(id);
		ModelAndView modelAndView = new ModelAndView();
		// 把商品数据放到模型中
		modelAndView.addObject("item", item);
		// 设置逻辑视图
		modelAndView.setViewName("editItem");
		return modelAndView;
	}****

2.如果请求的参数与方法中的形参一致则自动绑定在一起

**//绑定简单类型
	//当绑定的简单类型和请求参数一致时就会绑定在一起
//	@RequestMapping("/editItem")
	public String selecById(*int id*, ModelMap modelmap) {
     	Items item = this.itemService.selecById(id);
     	modelmap.addAttribute("item",item);
		return "editItem";
	}**

3.model接口

	//总结:不管使用model还是modelAndView其本质都是想jsp传递数据
	//使用Model对象
//	@RequestMapping("/editItem")
	public String selecById(HttpServletRequest req, *Model model*) {
     // 创建页面需要显示的商品数据
		String strid = req.getParameter("id");
		Integer id = Integer.valueOf(strid);
     	Items item = this.itemService.selecById(id);
     	model.addAttribute("item",item); 
		return "editItem";
	}	
方法返回值改成String形式

4.ModelMap

//本质一样
//	@RequestMapping("/editItem")
	public String selecById(HttpServletRequest req, *ModelMap modelmap*) {
     // 创建页面需要显示的商品数据
		String strid = req.getParameter("id");
		Integer id = Integer.valueOf(strid);
     	Items item = this.itemService.selecById(id);
     	modelmap.addAttribute("item",item); 
		return "editItem";
	}

5.简单参数的绑定

**/简单参数的绑定@RequestParam value:请求当中名称为itemId的值传入,required=true,必须有值,defaultValue="1" 默认值为1
	@RequestMapping("/editItem")
	public String selecById(@RequestParam(value="itemId",required=true,defaultValue="1")Integer id, ModelMap modelmap) {
     	Items item = this.itemService.selecById(id);
     	modelmap.addAttribute("item",item); 
		return "editItem";
	}**

6.pojo的绑定

**//绑定pojo类型
	//要求:pojo对象中的属性名和表单中input的name属性一致。
	//目的:提交的参数过多时
	//此处要注意日期的限制,没有日期转换会出现404
	@RequestMapping("/updateitem")
	public String updateItem(Items item) {
		this.itemService.updateItemById(item);
		return "success";
	}**

7.包装类
//包装类

``java
**@RequestMapping("/queryitem")
	public String updateItem(QueryVo vo) {
    System.out.println(vo.getItems().getId());
    System.out.println(vo.getItems().getName());
		return "success";
	}**

8.乱码的处理

 **<!--解决POST乱码问题-->
    <!--对于GEt问题的乱码可以在tomacat里面修改<Connector URIEncoding="utf-8" 
    connectionTimeout="20000" port="8080"
     protocol="HTTP/1.1" redirectPort="8443"/>-->
  <filter>
     <filter-name>encoding</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
     </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>**

9.日期转换器处理

     **xml
      <!--注解驱动-->
      <mvc:annotation-driven conversion-service="conversionService"/>
      <!--日期转化器-->
      <bean id="conversionService"
      class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="converters">     
          <set>
            <bean class="com.itheima.springmvc.controller.DateConverter"/>
          </set>
        </property> 
      </bean>**
      
```java
**java
public Date convert(String arg0) {
		// TODO Auto-generated method stub
		//把字符串转换成日期型
		SimpleDateFormat sdf=  new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
	     try {
			Date date =  sdf.parse(arg0);
			return date;
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	     //转换不成功就为空
		return null;
	}**


springmvc
1.springmvc是以前端控制器为入口
2.springmvc主要是一个路径对应一个方法
3.springmvc:springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Jsp视图解析器默认使用jstl。

classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值