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路径)进行查找