有两种方法使用不同的URI映射到spring引导中的同一视图,第一种方法效果很好,但是,第二种方法只能显示html而css无法加载,代码如下:
@Controller
public class ExamController {
@RequestMapping("/quiz0")
public ModelAndView quizingA() {
System.out.println("run into quiz0");
ModelAndView modelAndView = new ModelAndView("examination");
return modelAndView;
}
@RequestMapping("/quiz1/{course}")
public ModelAndView quizingB(@PathVariable("course") String course) {
System.out.println("run into quiz1, couse choosed: " + course);
ModelAndView modelAndView = new ModelAndView("examination");
return modelAndView;
}
}
从日志中可以看出,两者都已成功到达,正如我所知,不应该存在错误,对吗?
对于第一个效果很好的我使用的网址是
http://localhost:8080/quiz0
对于我使用的网址失败的第二个是:
http://localhost:8080/quiz1/Java
还有一个信息,我已通过覆盖WebSecurityConfigurerAdapter禁用了spring安全性。如果需要,我可以将其粘贴。
有人可以帮忙解释一下吗?
提前致谢。
答案 0 :(得分:2)
你可能会用相对路径而不是绝对路径来包含你的css。
e.g。
如果你这样包括
<link type="text/css" href="css/bootstrap.css" rel="stylesheet"/>
路径将转换为
/quiz0/css/bootstrap.css
和
/quiz1/{course}/bootstrap.css
我建议使用绝对路径
<link type="text/css" href="/css/bootstrap.css" rel="stylesheet"/>