Spring之Controller使用篇1模型自动装配对象或集合

一、Controller之使用策略

@RequestMapping的使用十分重要,这个注解即可以放在方法上,不用显式声明提交方式,比如像这样:

    @RequestMapping("/spittles")
    public List<Spittle> spittles(@RequestParam(value = "max", defaultValue = MAX_LONG_AS_STRING) long max,
            @RequestParam(value = "count", defaultValue = "20") int count) {
        System.out.println("spittleswdc");
        return spittleMapper.findSpittles(max, count);
    }

这个注解另有做法,也是本人最喜欢的做法是,在类和方法上同时加入此注解,比如像这样:

 1 @RequestMapping("/spittles")
 2 public class SpittleController {
 3 
 4     @RequestMapping(method = RequestMethod.GET)
 5     public List<Spittle> spittles(@RequestParam(value = "max", defaultValue = MAX_LONG_AS_STRING) long max,
 6             @RequestParam(value = "count", defaultValue = "20") int count) {
 7         return spittleMapper.findSpittles(max, count);
 8     }

 这样做的好处,就是前台提交时不用写路径,默认提交到本页面。

关于返回视图名称上面代码是一种受限制但是非常好用的返回方案,他并没有返回视图名称"spittles",也没有使用Model模型添加List,

这地方Spring实现了下面这种方式:

 1     /*
 2      * Spring4.0以后,像下面这这种方法也是可以的,它没有返回视图名称,也没有显式设定模型(Model),这个方法返回的是Spittle列表。
 3      * 当处理器方法像这样返回对象或者集合时,这个值会放在模型中,模型的key会根据其数据类型判断得出(在本例中,List<Spittle>)spittleList。
 4      * 而逻辑视图的名称会根据请求路径的推断得出,因为这个方法处理针对/Spittles的get请求,因此视图的名称将会是spittles。
 5      * 当然你也可以用ModelAndView把List加进来。
 6      */
 7 
 8     @RequestMapping(method = RequestMethod.GET)
 9     public List<Spittle> spittles(@RequestParam(value = "max", defaultValue = MAX_LONG_AS_STRING) long max,
10             @RequestParam(value = "count", defaultValue = "20") int count) {
11         System.out.println("spittleswdc");
12         return spittleMapper.findSpittles(max, count);
13     }

 

转载于:https://www.cnblogs.com/saber-himesama/p/7484961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值