JSP+Servlet培训班作业管理系统[3]–点击菜单加载功能页面

简介: 本文目录1. 背景2. 创建演示页面3. 构造超级链接4. 实现jsp页面的动态包含4.1 修改左侧菜单部分的超级链接。4.2 创建用于导航的servlet4.3 右侧区域动态包含5. 测试验证

1. 背景

上一篇我们已经实现了后台管理页面基本的布局。本篇我们要实现一个重要功能,就是点击左侧菜单后,跳转对应页面的功能。


例如左侧点击“课程管理”菜单,右侧就要显示课程管理对应的jsp页面。


2. 创建演示页面

为了便于演示,我们创建两个演示页面page1.jsp和page2.jsp。代码如下:


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title></title>

</head>

<body>这里是page1.jsp

</body>

</html>

1

2

3

4

5

6

7

8

9

10

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title></title>

</head>

<body>这里是page2.jsp

</body>

</html>

1

2

3

4

5

6

7

8

9

10

3. 构造超级链接

改造index.jsp左侧菜单,将固定文字替换为超级标签导航。


 <div id="left">

  <ul>

   <li><a href="page1.jsp">页面1</a></li>

   <li><a href="page2.jsp">页面2</a></li>

  </ul>

 </div>

1

2

3

4

5

6

此时点击左侧菜单,会直接跳转到page1.jsp,并未实现我们想要的page1.jsp内容显示到右侧内容区域的效果。


此路不通!


4. 实现jsp页面的动态包含

jsp提供了<jsp:include>标签用于动态的将jsp页面内容嵌入当前页面。


我们的思路修改下,首先超级链接a标签后,跳转servlet,servlet获取a标签指定的页面信息,然后再跳回index.jsp页面。


此时可以将页面信息通过<jsp:include>将指定页面放入右侧内容区域,这样就实现了我们想要的效果。


4.1 修改左侧菜单部分的超级链接。

       <div id="left">

  <ul>

   <li><a href="/HomeworkSystem/RouteServlet?childPage=page1.jsp">页面1</a></li>

   <li><a href="/HomeworkSystem/RouteServlet?childPage=page2.jsp">页面2</a></li>

  </ul>

 </div>

1

2

3

4

5

6

4.2 创建用于导航的servlet

创建RouteServlet,功能很简单,就是接受超级链接发起的请求,还是返回index.jsp页面,但是告知index.jsp页面右侧内容区域要加载的页面信息,即子页面childPage名称。



@WebServlet("/RouteServlet")

public class RouteServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 // 设置输入输出格式、编码

 response.setContentType("text/html");

 request.setCharacterEncoding("utf-8");

 response.setCharacterEncoding("utf-8");

 // 获取用户在网页输入的用户名和密码

 String childPage = request.getParameter("childPage");

 request.setAttribute("childPage", childPage);

 request.getRequestDispatcher("/index.jsp").forward(request, response);// 跳转到index.jsp

}

}


4.3 右侧区域动态包含

右侧内容区域就根据childPage,动态加载指定页面即可。注意当childPage不存在时(尚未点击菜单),直接显示固定文字即可。


 <div id="right">

  <c:if test="${empty childPage}">

     欢迎来到猫哥培训班管理系统

    </c:if>

  <c:if test="${not empty childPage}">

   <jsp:include page="${childPage}" flush="true"></jsp:include>

  </c:if>

 </div>

5. 测试验证

点击相应菜单1、菜单2,右侧即可显示page1.jsp、page2.jsp的内容,大功告成!非常完美啊。

相关文章
|
5月前
|
Java 应用服务中间件 开发工具
如何使用IDEA创建JSP页面
如何使用IDEA创建JSP页面
417 0
|
5月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
122 0
|
7月前
|
存储 Java
JSP中实现留言页面的编写并将留言信息展示出来
这篇文章介绍了如何在JSP中编写留言页面,并通过JavaBean类存储用户留言信息,同时展示了留言信息的展示方法。
JSP中实现留言页面的编写并将留言信息展示出来
|
7月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
7月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
7月前
|
Java
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
该博客文章讲解了JSP中`<jsp:getProperty>`和`<jsp:setProperty>`动作的使用方法,包括它们的语法格式和如何在页面中使用这些动作来获取和设置JavaBean对象的属性值,并通过图书信息的填写和展示示例进行了演示。
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
|
7月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
7月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
47 0
|
9月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
152 12
|
9月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
173 10