SpringMVC注解配置
来源:互联网 发布:淘宝详情页英文素材 编辑:程序博客网 时间:2024/05/17 23:37
@RequestMapping(...)
- 第一个参数value="请求路径的映射地址"
- 第二个参数method[]他是一个数组,里面是枚举类型,RequestMethod.GET,RequestMethod.POST
@Controller的三种返回值类型
- 可以返回ModelAndView---->方法返回前创建ModelAndView,并把Model和View分别进行设置---addObject(),setViewName()
- 可以返回String----->返回逻辑试图名,JSP真正的路径=前缀+逻辑视图名+后缀
方法形参参数需要传入model。---->通过形参中的model将数据返回页面
public String A(Model model---->这个是前台所需要的model数据){
model.setAttribute("arg",arg);
return “逻辑视图名”;
//重定向,和servlert中的一样,request会被重新创建,所以不能共享数据
//return "redirect xxx.action";
}
forward:
public String A(HttpServletRequest requset){
request.getParameter("id");
return “逻辑视图名”;
//转发,和servlert中的一样,request共享数据
//return "forward xxx.action";
}
- 可以返回Void
public void A(
HttpServletRequest requset,
HttpServletResponse response){
//页面转发
request.getRequestDispatcher("页面路径").forward(request,response);
//页面重定向
response.sendRedirect("url");
//也可以通过response指定响应结果,列入json
response.setCharacterEncoding("utf-8");
response.getWriter().write("json串");
}
springMVC提供了很多默认转换器
HttpServletRequest/HttpServletResponse/HttpSession/Model/ModelMap
Model是接口,ModelMap是实现类,一般用ModelMap
@RequestParam对简单类型的参数进行绑定
要求request传入参数的名称和controller方法的形参名称一致,方可绑定成功
参数:
- @RequestParam(value ='id"--->前台的id) Integer ItemId
- require=“表示必须传入"
- defaultValue="设置默认值";
绑定POJO:
页面中input 中的 name和controller方法(形参)的pojo属性名一致
自定义参数绑定:
<mvc:annotation-driver conversion-service="conversionService"></mvc:annotation-driver>
<!--自定义参数绑定>
<bean id="conversionService"class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<!--这里面写自己定义的参数转换绑定器-->
<property>
<list>
<bean class="com.syoka.xxx.xxx"/> <!--日期类型转换-->
<bean class="com.syoka.xxx.xxx"/> <!--字符串类型转换-->
</list>
</property>
</bean>
下面是具体的实现类:
public class Customer implements Converter<String,Date>{
public <T> convert(String source){
// DateFormatUtils.format(DateUtils.toCalendar(new Date()), "yyyy-MM-dd HH:mm:ss")//调用apache的工具
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try{
return format.parse(source);
}catch(ParseException e){
e.printStackTrace();
}
return null; //参数绑定失败
}
}
json交互:
- 请求的是json串--->@RequestBody------>将JAVA对象变为json串--->@ResponseBody---->将JAVA对象变为json串
- 请求的是key/value串--->不需要@RequestBody------>将JAVA对象变为json串--->@ResponseBody---->将JAVA对象变为json串
最终输出的都是json串
第一种方法:
@Controller
public class JsonTest{
//requestBody responseBody看上面
@RequestMapping("/requestJson"){
public @ResponseBody User requestJson(@RequestBody User user){ //@RequestBody将json转为对象
return user; //对象转换为json
}
}
Rest格式:
url模版映射
@RequestMapping("/users/{id}") //{xx}是占位符
//通过@PathVariable来获得参数
// /users/{id}里面的{id}表示将这个位置的参数传到@PathVariable指定名称
public @ResponseBody User users(@PathVariable("id") Integer id){
}
0 0
- springMVC 注解事务配置
- SpringMVC 注解配置
- SpringMvc简单注解配置
- SpringMVC 注解配置
- SpringMVC 全注解配置
- SpringMVC注解配置
- Springmvc注解配置(六)
- SpringMVC基于注解的配置
- SpringMVC使用注解配置AOP
- 注解的方式配置springMVC
- SpringMVC--注解与配置方式
- springmvc.xml 注解配置方法
- SpringMVC注解开发springmvc.xml的配置
- 基于注解的SpringMVC配置的详解
- java 中 springmvc + openjpa 配置 注解
- springMVC基于注解配置教程一
- 基于注解的springmvc配置例子
- 基于注解配置简单的SpringMVC+Mybatis
- ACE框架使用心得2—日期选择控件
- ssh_exchange_identification: Connection closed by remote host
- spring-boot 完美解决:could not initialize proxy - no Session
- Codeforces Round #386(Div. 2)D. Green and Black Tea【思维+构造】
- android笔记,点击notification时的跳到栈顶
- SpringMVC注解配置
- 29-fork 函数与文件共享
- <<C 陷阱与缺陷>>读书笔记
- ZCMU----1776
- 有关单表处理数据重复问题具体sql
- JQuery--实现标签页
- calico跨主机node访问pod问题
- yocto 串口打印异常问题排查
- g++编译选项