六、JSP技术
6.5 JSP动作元素
JSP动作元素用来控制JSP的行为,执行一些常 用的JSP页面动作。通过动作元素可以实现使用多行Java代码能够实现的效果,如包含页面文件、实现请求转发等。
6.5.1 < jsp:include >动作元素
在JSP页面中,为了把其他资源的输出内容插入到当前JSP页面的输出内容中,JSP技术提供了jsp:include动作元素,jsp:include 动作元素的具体语法格式如下所示:
动态包含:把其它资源页面的内容,合并到当前要包含的页面,最后一块输出。
基本语法格式:
动态包含特点:多个页面的内容合并输出,多个jsp页面生成多个java文件,编译成多个class文件
静态包含特点:多个页面的内容合并输出,多个jsp页面最终生成一个java文件,编译一个class文件。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%Thread.sleep(5000); %>
included.jsp内的中文
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
dynamiclnclude.jsp内的中文
6.5.2jsp:forward动作元素:请求转发。
它的作用实现请求转发,效果等同于RequestDispathcer对象的forward方法。
基本语法格式:
转发页面的url地址:不需要携带项目名称,因为转发动作是服务器内部行为。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
forward page
2020080605013 gongyuquan
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.Date" %>
Insert title here
date.jsp页面用来输出当前时间
<%out.print(new Date().toLocaleString()); %>
<%out.print(new java.util.Date()); %>
6.6案例:传智书城jsp页面
6.6.1.实现首页面
注意事项:1.在html网页不能书写与jsp相关的内容。
2.${pageContext.request.contextPath}:作用就是获取项目名称的路径,比如:/chapter07
设计首页面步骤:
1.创建一个index.jsp页面,在这里实现跳转到首页面的效果
将client文件夹复制到WebContent目录下,并将所有 .html文件改为 .jsp文件修改之后效果:
此时使用浏览器访问http://localhost:9999/chapter07/client/index.jsp会出现乱码问题,只需要在每一个jsp文件中都加上
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
即可。
虽然此时表面看来index.jsp可以正常访问了,但当点击页面右上角的“新用户注册”时,会发现浏览器报出“404”错误。这个时候需要修改页面中“新用户注册”链接的代码,修改之后为:
新用户注册
之后将index.jsp页面的顶部,菜单列表,底部代码抽取出来(创建新的JSP文件并在index.jsp页面相应位置添加一个链接)
最后将注册页面的公共页面部分(顶部,菜单列表,底部)加入与index.jsp页面相同的链接即可
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
首页
<%@include file="head.jsp" %>
<%@include file="menu_search.jsp" %>
<%@include file="foot.jsp" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
表单校验
注册页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
用户注册
<%@include file="head.jsp" %>
<%@include file="menu_search.jsp" %>
<%@include file="foot.jsp" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
注册成功
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
ConTACT US
COPYRIGHT 2015 © BookStore All Rights RESERVED.
2020080605044










