@ResponseBody不起作用,无法直接将内容响应至页面的问题

这是我遇到的问题:

启动服务器访问/testArea路径时,无法将map直接响应至页面,而是在视图解析器指定的路径中寻找以testArea为名称的视图页面。

此时@ResponseBody不起作用。

错误代码如下:

@Controller
public class AreaController {

    @Autowired
    private AreaService areaService;

    @RequestMapping(value = "/testArea",method = RequestMethod.GET)
    @ResponseBody
    public Map testArea(Map<String, Object> map){
        System.out.println("testArea");
        List<Area> areas = areaService.findAll();
        try{
            map.put("areaList",areas);
            map.put("areaSize",areas.size());
        }catch (Exception e){
            map.put("error",e.getMessage());
        }
        System.out.println("数据库已查询。。。");
        return map;
    }
}

 

原因:Map对象不能放在参数里创建,只能放在方法里new出来即可。

想想也是,直接放在参数无法指定是HashMap还是什么其他的Map,自然无法识别,最后只能访问默认的页面。

解决:(部分代码与上相同已省略)

@RequestMapping(value = "/testArea",method = RequestMethod.GET)
    @ResponseBody
    public Map testArea(){
        Map<String, Object> map = new HashMap<String, Object>();
        System.out.println("testArea");

                //关键部分

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值