利用layer实现JSP页面参数跳转与HTML子节点值获取
191 浏览量
更新于2024-08-28
收藏 54KB PDF 举报
在JSP页面开发中,当我们需要实现从一个页面(如original.jsp)通过按钮点击跳转到另一个页面的同时,可能还需要在目标页面获取到源页面中某个HTML子节点元素的值。这一过程通常涉及到前端JavaScript交互和后端Java的处理。以下是如何在layer插件的帮助下完成这一功能的详细步骤。
1. **前端页面操作**:
- 在original.jsp中,利用layer组件实现页面的异步跳转。`layer.open` 方法被用于弹出一个新的窗口或层,并传递参数。用户点击按钮时,会触发名为 `btnClick.shownewPage` 的事件处理器。该事件处理器首先获取被点击行的 `Id` 值(例如,可能是一个表格中的行号),然后将其拼接到URL中作为查询参数,如 `'/switch/switchAction!getNewPage.do?Id='+Id`。这样,当页面跳转时,这个 `Id` 就会被传送到后端。
2. **页面跳转与参数传递**:
- 使用 `layer.open` 的 `type: 2` 表示打开一个新的浏览器窗口,`area` 属性定义了新窗口的大小。`shadeClose` 参数确保了点击遮罩可以关闭弹出的窗口。
- 跳转的目标是 `SwitchAction` 类的 `getNewPage` 方法,这是Struts框架中一个典型的控制器操作。在这个方法中,通过 `HttpServletRequest` 对象获取到传递的 `Id` 参数,然后将它设置为request属性以便后续使用。
3. **后端逻辑**:
- 在 `SwitchAction` 类中,`@Scope(value="prototype")` 注解表明这个类实例化时会创建一个新的bean,适合处理单个请求。`@Controller("SwitchAction")` 是Spring MVC的注解,声明这是一个控制器。
- `getNewPage` 方法中,通过 `request.getParameter("Id")` 获取前端传递的 `Id` 值。接着,将这个值再次设置到request中,这将使Struts2的action能够识别并处理这个参数。
- 如果需要获取HTML子节点元素的值,例如在数据库中对应的字段,可以调用 `pageService.getObjectById(Id)` 来获取数据对象,然后从中提取所需的HTML字符串。比如,如果该对象有一个名为 `newHtml` 的属性,那么就通过 `StringBuffer` 构造该字符串,然后使用 `response.getWriter().print()` 方法将其写入响应,从而在新页面中显示出来。
实现这种页面跳转并在目标页面获取源页面HTML子节点元素的方法是结合前端JavaScript(通过layer组件)、前端与后端的数据交换(通过HTTP请求参数传递)以及后端Java业务逻辑(通过Struts Action和数据访问服务)。这涉及到了Web应用开发的核心技能,包括前端UI交互、服务器端数据处理和前后端数据通信。
2180 浏览量
3599 浏览量
143 浏览量
289 浏览量
2023-07-14 上传
152 浏览量
192 浏览量
140 浏览量
2024-11-06 上传

weixin_38628953
- 粉丝: 6
最新资源
- S3C2440上运行的UCOS-II操作系统开发代码
- Java完整文件上传下载demo解析
- Angular 8+黄金布局集成方案:ng6-golden-layout概述
- 科因网络OA:党政机关全方位信息化解决方案
- Linux下LAMP环境与PHP网站搭建指南
- 新语聊天系统:ASP.NET C# 实现的WebChat
- 中国移动专线拨测工具:高效测试数据与互联网线路
- AT89S52单片机直流电源设计:原理图、程序及详解
- 深入掌握WPF与C# 2010编程技术
- C#初学者百例实例程序解析
- express-mongo-sanitize中间件:防止MongoDB注入攻击
- 揭秘精品课程源码:提升教育质量的秘密武器
- 中文版SC系列OTP语音芯片特性详解
- Lombok插件0.23版发布,提高开发效率
- WebTerminal:InterSystems数据平台的全新Web终端体验
- 多功能STM32数字时钟设计:全技术栈项目资源分享