JSP中的包含指令和跳转指令

包含指令包括静态包含和动态包含
静态包含

<%@ include file="要包含的文件路径"%>

属于先包含然后再进行集中编译。在<body></body>标签里面。包含不管后缀名是什么,都会将内容直接包含并显示。假如我们现在一个a.jsp要包含一个b.jsp
b.jsp里面不要包含<html></html><body></body><head></head>,在一个完整的页面中,如果重复出现这些,则可能会出现显示错误。例如b.jsp可以这样写

<h2><font color="green">
<%="info.jsp"%>
</font></h2>

动态包含

<jsp:include page="要包含的文件路径">
</jsp:include>

<jsp:include>属于标签指令,记得要结束记得结束有个include
动态包含可以传递参数,假如一个a.jsp包含一个b.jsp
a.jsp

<%@ page contentType="text/html" pageEncoding="utf-8"%>
<html>
<head></head>
<body>
    <%
        String username="ljs";
    %>
    <h1>动态包含并传递参数</h1>
    <jsp:include page="receive_param.jsp">
        <jsp:param name="name" value="<%=username%>"/>
        <jsp:param name="info" value="www.ljs.cn"/>
    </jsp:include>
    
</body>
</html>

b.jsp

<%@ page contentType="text/html;charset=utf-8"%>
        <h1>参数一:<%=request.getParameter("name")%></h1>
        <h1>参数二:<%=request.getParameter("info")%></h1>

记住是a把参数传递给了b,但是a有包含了b,显示了b的内容。
输入http://localhost:8888/ljs/a.jsp

a.png

但是输入http://localhost:8888/ljs/b.jsp

a.png

建议使用动态包含因为静态包含是先包含后处理,如果在包含页面和被包含页面都定义了一个变量x,他就会报错,而动态包含就不会,它是先处理后包含。

跳转指令
<jsp:forward page="要跳转页面的路径">
<jsp:forward>
跳转指令也是可以传递参数,不过是从该页面传递到要跳转的页面。假如输入a.jsp,然后跳转到b.jsp,显示b.jsp的内容,可以看到跳转后但是地址不变,说明是服务器跳转,服务器根本不知道请求的是什么资源。
a.jsp

<%@ page contentType="text/html;charset=utf-8"%>
<html>
    <body>
    <%
        String ljs = "ljs2";
    %>
    <h1>跳转页</h1>
        <jsp:forward page="b.jsp">
            <jsp:param name="ljs" value="ljs"/>
            <jsp:param name="ljs2" value="<%=ljs%>"/>
        </jsp:forward>
    </body>
</html>

b.jsp

<%@ page contentType="text/html;charset=utf-8"%>
<html>
    <body>
        <h1>跳转后的页面中进行参数的接受</h1>
        <h2>参数一:<%=request.getParameter("ljs")%></h2>
        <h2>参数二:<%=request.getParameter("ljs2")%></h2>
    </body>
</html>
a.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 3,700评论 5 99
  • 一. Java基础部分.................................................
    wy_sure阅读 3,846评论 0 11
  • 一、JSP简介 JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了在J...
    年少懵懂丶流年梦阅读 646评论 1 5
  • 对于小时候的记忆,我没有渴望被懂得。和好朋友交流,似乎就是一件很自然的事。我把自己心中所想说出来,对方能够明白和接...
    PandaCC阅读 304评论 0 0