1、问题
今天学了springmvc的jsp页面传值
<a href=”${pageContext.request.contextPath }/detail1?id=10001” >通过参数传递ID</a>
<a href=”${pageContext.request.contextPath }/detail2/10001.html” >路径变量@pathvariable在路径上传递ID</a>
通过参数传递数据,数据会直接出现在地址栏上,信息暴露不安全。而通过路径变量可以加上后缀,相对安全一点。
这是代码结构,jt.jsp传参进入detail2这个controller,controller在控制台输出jsp传过来的参数后重定向到jt.jsp(jt.jsp中有引用到css、js和图片)。运行程序后,重定向的时候发现控制台成功打印jsp传进的参数,但是重定向后,页面的样式和图片丢失了。
在springmvc的配置文件里有配置静态资源访问
查看浏览器控制台发现,找不到样式文件和图片。文件的路径前多了/testpathvariable找不到文件
2、解决方法
在网上找到的问题原因是因为引用静态文件的时候使用了相对路径。
解决方法就是把引用修改为绝对路径。
1 | <link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap.min.css" type="text/css" /> |