想问一下这个问题

来源:2-1 URL Mapping(URL映射)

MasonM

2019-11-23 13:03:49

在我使用SpringMVC的时候

http://img.mukewang.com/climg/5dd8bd3b094c1fbb08670378.jpg

我编写页面a标签的href路径发现这个问题:

http://img.mukewang.com/climg/5dd8bd47097a25fc04600110.jpg

这样的话可以正常访问

http://img.mukewang.com/climg/5dd8bd620924104c06210201.jpg

但是如果我把a标签的href路径写成这样

http://img.mukewang.com/climg/5dd8bd7e098508f105180165.jpg

就会变成这样子

http://img.mukewang.com/climg/5dd8bdae0988e44c10330365.jpg

请问这是为什么呢?

写回答

3回答

好帮手慕阿满

2019-11-23

同学你好,经过测试,获取的<%=request.getContextPaht() %>中会自带"/",如:

http://img.mukewang.com/climg/5dd8fe6b09d8362b05710044.jpg

http://img.mukewang.com/climg/5dd8fea50935e1ec01860056.jpg(HelloWeb是我的项目名)

而"/"可以获取localhost:8080,从而跳转到对应的映射。

所以在a标签的href中<%=request.getContextPath() %>前不需要加 / 。

关于同学使用${pageContext.request.contextPath}的报错,是因为不能识别el表达式造成的,如:

http://img.mukewang.com/climg/5dd8ff6609fd00fe09480250.jpg

问一下同学使用的是jsp页面吗?项目中有导入jstl的jar包吗?

建议同学检查一下。

祝:学习愉快~

0
hasonM
h 的确是因为没有引入jstl的包,谢谢老师
h019-11-23
共1条回复

MasonM

提问者

2019-11-23

另外, 为什么我使用${pageContext.request.contextPath}也不行呢?

http://img.mukewang.com/climg/5dd8df6c098e88da11630160.jpghttp://img.mukewang.com/climg/5dd8df77099ca55208990585.jpg

会变成这样

http://img.mukewang.com/climg/5dd8dfb809dd310709530305.jpg

0

好帮手慕阿满

2019-11-23

同学你好,报404错误是路径问题哦,如:

http://img.mukewang.com/climg/5dd8db4209348f3f05320123.jpg

http://img.mukewang.com/climg/5dd8db63098f762e07020232.jpg

在报404错误的路径中少了项目名,如果同学想使用/hello的方式进行跳转,建议同学在href中加上/<%=request.getContext() %>获取项目名,如:<a href="/<%=request.getContext() %>/hello" >

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0
hasonM
h 你好,按你说的,<a href="/<%=request.getContext() %>/hello" >这样子不行呢? 但我把<%=request.getContext() %>前面的/去掉就可以,请问为啥呢?
h019-11-23
共1条回复

0 学习 · 8263 问题

查看课程