Struts2中namespace和result的路径问题
自己种下的因,现在结下的过,所以从现在开始,为以后有一个好的果!
今天在配置struts2的namespace的时候,遇到了学习struts的第一个坑,所以来写一篇也是第一篇博客来给我增加记忆。
1.首先上代码:
<package name="p2" extends="struts-default" namespace="/user"> |
2.上述代码中看似并没有什么问题,但是在访问时会报错,报错如下:
3.很奇怪,为什么前面会自动加上/user呢?于是带着这个问题,我上了百度....emmmm
原因如下:
因为namespace是struts.xml配置文件中package标签中的属性,不仅决定了访问时url的路径也决定了你的result访问jsp页面的路径,所以会出现以上问题。
例子1:
<package name="p2" extends="struts-default" namespace="/"> |
如上述代码来说,当你访问localhost:8080/user_add时,会在你的根目录下找,其中的action为user_add的路径,result中的路径并不是全路径(不知全路径可自行百度),访问
user_add会在result加上“/”,会变成“/web-inf/user/useradd.jsp”,这样是没有问题的。但是!请看接下来的情况。
例子2:
<package name="p2" extends="struts-default" namespace="/user"> |
|
当你访问时,如上所述,就会在你的result的路径前加上namespace,result为“/user/web-inf/user/useradd.jsp”所以导致404。也就是最开始的问题。
如何解决呢?
很简单,只需要在你的result路径前面加上“/”变成全路径即可解决。如下:
<result name="success">/web-inf/user/useradd.jsp</result>
上一篇: Git常用日志命令
下一篇: 导入JavaWeb 项目出现的问题
推荐阅读
-
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
-
Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
-
详解vue-cil和webpack中本地静态图片的路径问题解决方案
-
Struts2中namespace和result的路径问题
-
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
-
Struts2 中Action的数据传递问题和国际化问题
-
[PHP]scandir列出路径中的中文名文件和目录时遇到的问题
-
转 重定向和转发中的路径问题
-
[PHP]scandir列出路径中的中文名文件和目录时遇到的问题
-
JSP、Servlet中的相对路径和绝对路径 页面跳转问题