Spring 常用注解
@Controller 用来标注该类是控制器
@RequestMapping 请求这个类或者方法的URL地址
@RequestParam 指定请求参数名
@PathVariable 处理请求url中的占位符参数 (可以用来URL传值)
@ResponseBody 指定返回值通过response对象输出到页面上、
@ModelAttribute 从Model中获取数据,并绑定到指定参数 (传值)
@SessionAttributes 把数据绑定到session
public class UserController {
public UserController() {
System.out.println("firtspringMVC");
}
@RequestMapping("/findUser")
public String firstMVc(Model model) {
model.addAttribute("name","hello");
System.out.println("firtspringMVC");
return "user";
}
@RequestMapping("/find2User")
public ModelAndView firstMVc1() {
ModelAndView mv=new ModelAndView();
mv.addObject("name","hello");
mv.setViewName("user");
System.out.println("firtspringMVC");
return mv;
}
@RequestMapping("/login/{id}")
public String login(User user,@PathVariable("id")int id) {
System.out.println(user.getUserName());
System.out.println(id);
//ModelAndView mv=new ModelAndView();
//mv.addObject("user", user);
return "user";
}
@RequestMapping("/login2")
public ModelAndView login2(@RequestParam("userName") String name) {
System.out.println(name);
ModelAndView mv=new ModelAndView();
mv.setViewName("user");
mv.addObject("name", name);
return mv;
}
@RequestMapping("/login3")
public String login3(@RequestParam("userName") String name, Model mv) {
System.out.println(name);
mv.addAttribute("name",name);
return "user";
}
}
全局解决中文乱码
在web.xml中添加以下代码即可解决
<!-- 处理中文乱码的过滤器 -->
<filter>
<filter-name>CharacterEncodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
处理日期转换
在Spring 配置文件中 定义全局的日期转换器
<!-- 启动注解功能 -->
<mvc:annotation-driven conversion-service="dateConvertor" />
<!-- 定义全局的日期转换器 -->
<bean id="dateConvertor" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.chinasofti.utils.DateConvertor"/>
</list>
</property>
</bean>
<!-- 启用包扫描功能 -->
<context:component-scan base-package="com.chinasofti"/>
创建一个类
package com.chinasofti.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
public class DateConvertor implements Converter<String, Date>{
@Override
public Date convert(String date) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}