`

让超链接也通过Struts2框架

阅读更多

1. 写一个简单,负责跳转到请求页面的Action
作用:比如点击一个 超链接“index.jsp”,Struts2拦截到该index.jsp请求,通过该Action处理后,又要回到"index.jsp"页面。

例:

public class SimpleViewResultAction {
	public String execute() {
	String url = ServletActionContext.getRequest().getRequestURI();	
	//相对与服务器根目录的路径  如:请求的页面路径为:http://localhost:8080/Hello/index.jsp,则该方法返回值为--"/2VTEL/index.jsp"
	url = url.substring(7);				//去掉"/2VTEL/",因为struts.xml配置中的相对路径是从"/Hello"开始的
	ActionContext.getContext().put("url", url);	//用于struts.xml配置文件中。
	return "success";
}

 
2. 在struts.xml文件中配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
	"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<!-- 为了让.jsp后缀也被Struts2拦截,需要修改默认的后缀拦截,增加对.jsp后缀的拦截 -->
	<constant name="struts.action.extension" value="action,jsp"/>
	
	
	<package name="tel" extends="struts-default">
		
		<!-- 配置默认的Action,当找不到用户请求对应的Action时,则使用默认的Action -->
    		<default-action-ref name="simpleViewResultAction"/>

		<action name="simpleViewResultAction" class="com.topthinking.tel.action.SimpleViewResultAction">		
			<!-- ${url} 中的url 是在SimpleViewResultAction 中execute方法中设置的,如果没有设定,${url}的值将为null -->
			<result>/${url}</result>
		</action>

	</package>
</struts>

 

分享到:
评论

相关推荐

    struts2是否可以通过超链接传参

    Struts2框架确实可以通过超链接传递参数,这是它的一个基本特性。在Struts2中,你可以使用`&lt;s:iterator&gt;`标签遍历集合,并在超链接中嵌入需要传递的参数。下面详细介绍如何实现这个功能。 1. **超链接与参数传递**...

    struts框架-文件上传下载

    1. 创建下载服务:在Struts框架中,通常通过一个Action来提供文件下载服务。Action需要根据请求参数找到待下载文件的路径,然后设置响应头,包括Content-Type(表示文件类型)和Content-Disposition(告诉浏览器以...

    struts2BBS论坛

    Struts2 BBS论坛是一个基于Struts2框架和FCKeditor构建的小型在线讨论平台。Struts2是一个流行的Java Web应用程序框架,它提供了一种结构化的MVC(Model-View-Controller)设计模式实现,帮助开发者更有效地组织和...

    struts2增删改查,struts2分页查询

    在探讨Struts2框架下的增删改查以及...以上解析涵盖了Struts2框架中增删改查及分页查询的主要实现方式,通过JSP页面、Action类和配置文件三者的协作,我们可以高效地构建出具有动态数据展示和交互能力的Web应用程序。

    Struts2的ajax支持

    Struts2框架,作为Java Web开发中的明星框架之一,自然也紧跟时代步伐,提供了强大的Ajax支持。 Struts2之所以能够在Ajax领域独树一帜,主要是因为它采取了“站在巨人肩膀上”的策略,即没有重新发明轮子,而是集成...

    在Java的Struts框架下进行web编程的入门教程

    在Java的Struts框架下进行Web编程,主要是为了构建基于MVC(模型-视图-控制器)模式的Web应用程序。Struts是一个强大的、开源的Java框架,它简化了开发过程,提高了代码的可维护性和可扩展性。Struts2是其最新版本,...

    Struts2页面开发中常用的标签介绍

    Struts2框架在Java Web开发中被广泛应用于构建MVC架构的应用程序。它提供了丰富的标签库来简化页面开发过程,使得开发者能够更加高效地处理表单输入、数据显示以及逻辑控制等问题。本文将详细介绍Struts2页面开发中...

    struts2标签库

    Struts2框架作为Struts1的升级版,在功能性和易用性方面有了显著的提升。对于那些已经熟悉Struts1的人来说,学习Struts2将是一个相对平滑的过程。Struts2标签库是其核心组件之一,它提供了丰富的前端界面构建工具,...

    Struts2Path

    - 在Struts2中,`&lt;s:a&gt;` 标签用于创建超链接。 - **命名空间(Namespace)**:Struts2中的命名空间是一个重要的概念,它可以用来组织Action,避免命名冲突。默认情况下,如果没有指定命名空间,则使用的是默认的空...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_5_标签 共113页.pptx

    Struts2框架通过丰富的标签库极大地简化了Web应用的开发过程,无论是基础的表单元素还是复杂的页面交互逻辑,都能够通过简单的标签语法轻松实现。对于想要快速构建高质量Web应用的开发者来说,掌握Struts2框架及其...

    struts2常用标签详解(实用版)

    当Action类中的属性名与标签中的`value`属性相同时,Struts2框架会通过getter方法获取该值。 ##### 1.3 Textfield标签 Textfield标签用于在前端页面展示Action类中的某个属性值,并允许用户编辑。其基本语法为: ...

    Struts2开发实例总结

    Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。在本文中,我们将深入探讨Struts2的开发实例,重点在于版本为Struts2.1.6的项目实践,同时使用Oracle9i作为数据库。 首先,...

    Struts2 三种下载方法 源码(有图有真相)

    Struts2是一个强大的Java Web开发框架,用于构建可维护、结构清晰且易于扩展的企业级应用程序。在Struts2中处理文件下载是常见的需求,尤其是在处理用户请求获取服务器上的静态资源或者上传文件的下载时。本资源包...

    struts2实现文件下载实例源代码

    通过以上步骤,我们就可以在Struts2框架下实现文件下载的功能。在本例中,用户点击链接后,Struts2会调用`DownloadAction`的`execute()`方法,从服务器读取"1.xls"文件,然后将文件内容通过HTTP响应返回给浏览器,...

    Struts2文件上传和下载教程

    在Struts2框架中,实现文件上传主要依赖于表单的`enctype`属性设置为`multipart/form-data`。这种设置允许表单中的文件作为请求的一部分发送到服务器端。 **1.2 enctype详解** - **application/x-...

    在struts2中使用JasperReports

    6. **视图展示**:在前端页面上,可以通过超链接或按钮触发Action,Struts2会将生成的报表内容发送回浏览器,用户可以选择保存或直接查看。 7. **错误处理**:别忘了添加错误处理逻辑,例如处理数据加载失败、报表...

    Struts2页面取值总结

    在Web应用开发中,Struts2框架因其强大的功能和灵活的配置受到广大开发者青睐。本文将深度解析Struts2框架中页面取值的多种方式及核心标签的使用技巧,帮助开发者更高效地进行页面与后台交互。 #### 页面取值的四种...

    struts2标签大全

    Struts2是一个强大的MVC框架,它极大地简化了Java Web应用程序的开发。在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇...

    Struts2技术笔记(个人总结的,都有代码示例)

    1. **用户请求**:当用户通过浏览器发起请求时,请求首先会被送到Struts2的前端控制器`StrutsPrepareAndExecuteFilter`。 2. **过滤器处理**:过滤器接收到请求后,会根据配置查找相应的拦截器栈(interceptor stack...

Global site tag (gtag.js) - Google Analytics