Struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径),或者使用myeclipse经常用的,指定basePath。如下:
<struts>
<constant name="struts.devMode" value="true" />
<package name="path" extends="struts-default" namespace="/path">
<action name="path" class="com.bjsxt.struts2.path.action.PathAction">
<result name="path">/path.jsp</result>
</action>
</package>
</struts>
当request访问Action之后,进入了path.jsp。在这个jsp中,有如下链接:
<a href="index.jsp">index.jsp</a>
此时,index.jsp存在于根目录下,但是通过页面点击,则进入/path/path/index.jsp
所以在JSP中加入如下语句:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()
+":"+request.getServerPort()+path+"/";
%>
之后,使用<a href="<%=basePath%>index.jsp">index.jsp</a>
或者在head中加入:<base href="<%=basePath%>" />,然后再使用<a href="index.jsp">链接。
分享到:
相关推荐
在处理“struts2 路径问题”时,我们主要关注的是Struts2框架中的URL映射和资源定位。这篇博客文章可能探讨了在使用Struts2时遇到的路径相关问题,如Action配置、结果类型、静态资源访问等。 1. **Action配置**:在...
Struts1和Struts2分别是该框架的两个不同版本,它们在处理相对路径的方式上有所不同。本文将详细讲解在Struts1和Struts2中如何获取相对路径。 ### Struts1 获取相对路径的方法 在Struts1中,我们通常会用到`...
当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点: 1. **Struts2配置文件**: - 配置文件通常为`struts.xml`,这是定义...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,文件下载功能是常见的需求,尤其是在处理用户请求获取服务器上的静态或动态资源时。这篇博文...
Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...
该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...
本篇将详细介绍如何在Struts2中实现绝对路径上传图片以及在页面上显示这些图片。 首先,了解文件上传的基本概念。在Web开发中,文件上传允许用户通过HTTP请求发送本地文件到服务器。Struts2提供了一套完整的文件...
Struts2通过Action和Namespace来决定URL路径。Action的全名由Namespace和ActionName组成,例如`/admin/save`,其中`admin`是Namespace,`save`是ActionName。 **七、Action的动态调用方法** Struts2支持Action的...
然而,随着其广泛应用,安全问题也逐渐凸显,其中最为知名的便是Struts2漏洞。在2016年5月16日,一个名为“K8 Struts2 Exp 20160516”的综合漏洞利用工具被发布,这标志着Struts2框架中存在严重的安全风险。 **...
开发者需要将这些JAR文件添加到项目的类路径中,以便能够使用Struts2的功能。文件可能会详细解释如何配置构建工具(如Maven或Gradle)来管理这些依赖,或者如何手动将JAR文件放入WEB-INF/lib目录。 "struts2必备包...
这些jar文件是Struts2框架运行的基础,开发者需要将它们添加到项目的类路径中,以便能够利用Struts2的各种特性。 Struts2的核心jar包包括以下几个主要部分: 1. `struts2-core.jar`:这是Struts2框架的核心库,...
Struts2是一个流行的Java web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于创建结构清晰、可维护性高的企业级应用程序。本教程将详细介绍如何部署一个基于Struts2的项目,特别适合初学者。由于实际...
使用Struts2的全部JAR包时,要注意避免版本不兼容问题,确保所有库的版本一致。同时,正确配置web.xml文件,指定Struts2的过滤器。 9. **最佳实践**: - 为了代码整洁,推荐使用注解配置而非XML。 - 使用Maven或...
6. **添加Struts2库**:将下载的Struts2库(包括struts2-core等依赖库)添加到项目的类路径中。 7. **编写第一个Action**:创建一个Action类,实现你需要的业务逻辑,并指定结果页面。 8. **编写结果页面**:创建...
安装这个插件的方法非常简单,只需将其复制到Struts2项目的类路径下,然后在Struts配置文件(struts.xml)中进行必要的配置,比如启用Dojo主题或指定特定的Dojo库版本。一旦配置完成,你就可以在JSP页面上直接使用Dojo...
Struts2 开发常见问题与解决方案 在使用 Struts2 进行开发时,开发者可能会遇到各种问题,这里我们将详细探讨一些典型的问题及其解决方法。 1. **警告:Settings: Could not parse struts.locale setting, ...
在使用Struts2全部jar包时,开发者需要将这些库文件加入到项目的类路径中,通常包括Struts2的核心库、依赖的Apache Commons库、OGNL库以及可能的插件库。一旦完成配置,就可以开始编写Action类、创建视图和配置拦截...
在没有使用任何集成开发环境的情况下配置Struts2,可能会遇到各种问题,尤其是在配置过程中对于细节的把握至关重要。以下是配置过程中需要注意的一些关键点: 1. **路径与大小写敏感性**:无论是Tomcat的地址路径...
Struts2是Apache软件基金会下的一个开源框架,主要用于构建企业级的Java web应用程序。张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置...
- **兼容性问题**:Struts2在与Hibernate3和Spring2等其他流行框架整合时,可能会遇到类名冲突等问题,这需要开发者进行适当的调整,例如使用特定版本的框架或修改类路径,以确保项目的顺利运行。 ### 实践中的应用...