多个具有相同路径的@GetMapping servlet?

时间:2017-08-09 13:47:35

标签: java spring spring-mvc servlets thymeleaf

我想为/persons路径创建多个servlet。没有任何查询参数的路径应该只提供html页面(使用Thymeleaf模板)。

带参数的那个应该用数据填充http模型。

@Controller
@RequestMapping("/persons")
public class PricingCacheController {

    //default just routing to the html template
    @GetMapping(params = "")
    public String personsHtml() {
        System.out.println("initial page load");
        return "persons";
    }

    @GetMapping
    public String personsGet(Model model, @RequestParam MyBean bean) {
        System.out.println("get request");
        model.addAttribute("dto", dao.findAll());
        return "persons";
    }

执行localhost:8080/persons时,我找不到404

1 个答案:

答案 0 :(得分:0)

你不能这样做,servlet映射是在url级别完成的,并且在解析url时会忽略查询参数,因此你必须映射相同的路径(无论查询参数)你会得到404,为什么不使用路径变量