RequestMapping的小小问题(SpringMVC)

今天学了一点Requestmapping

 我一开始的疑惑是:为什么在调用index方法时会自动调用themeleaf的视图解析器,而调用target方法时这里的超链接却需要使用th等代码调用themeleaf才能通过运行?(认清themeleaf和超链接和RequestMapping)

以下为我的部分代码:

RequestMapping的小小问题(SpringMVC)_第1张图片

下面是index.html的代码,里面使用了超链接。

RequestMapping的小小问题(SpringMVC)_第2张图片

以下是themeleaf视图解析器代码

RequestMapping的小小问题(SpringMVC)_第3张图片

结论:没有th等代码时,href的“/”会被自动解析成默认地址,则超链接默认为http://localhost:8080/target,因为这里是直接初始地址,缺少工程名,所以无法通过编译。

为了避免地址固定为以后更改照成麻烦,超链接使用了themeleaf,地址自动补全上下文。这里调用themeleaf是为了方便超链接以后的修改,而跳转后的地址经组件扫描与控制器的某个RequestMapping的value值“/target”对应上,返回视图名称,并自动调用themeleaf的视图解析器。

在地址栏中直接输入地址也能正确运行(没有经过跳转),代表方法本身就能调用themeleaf的视图解析器。

RequestMapping的小小问题(SpringMVC)_第4张图片

 

我的理解:控制器的每个方法都能自动调用themeleaf的视图解析器,而其他地方(像超链接)就需要用th等代码调用themeleaf的视图解析器。

这就算是我解决问题的笔记了,虽然问题真的很简单

你可能感兴趣的:(spring)