JSP行为

JSP行为

<jsp:forward />行为

在JSP页面中完成请求转发。作用等同于Servlet中的request.getRequestDispatcher("/内部路径").forward(request,response)方法,将当前JSP页面的数据转发到另一个JSP文件中。例如:


demo3.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        request.setAttribute("param1", "value1");
    %>
    <jsp:forward page="demo4.jsp"></jsp:forward>
</body>
</html>

demo4.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%= request.getAttribute("param1") %>
</body>
</html>

运行结果
在这里插入图片描述
可以看到,请求转发后,地址栏并未改变。同Servlet一样,跳转动作发生之前不能有任何输出到客户端浏览器,否则会抛出IllegalStateException异常。

我们修改一下上面的代码,把demo3.jsp改为下面这样,运行结果就会改变。


demo3.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        request.setAttribute("param1", "value1");
        response.getWriter().println("123");
    %>
    <jsp:forward page="demo4.jsp"></jsp:forward>
</body>
</html>

运行结果
在这里插入图片描述


<jsp:include />行为

动态包含,将被包含资源的运行结果包含进来。在将JSP指令中include的时候,就提到了<jsp:include />行为,前者是将包含进来的源代码添加到了目标文件中,然后编译成一个class文件,是先包含后编译。而<jsp:include />则是先执行JSP程序,然后把执行结果包含到include.jsp中,属于先执行后包含行为。

本行为是使用request.getRequestDispatcher("/内部路径").forward(request,response)来执行被包含的文件的。

标准的JSP行为格式如下:

<jsp:include page="relativeURI" flush="true" />

其中page是必需的,是被包含文件的相对路径,必须为本Web项目中的文件。flush默认为false,设置读入被保存文件内容是否清空缓存。


<jsp:directive />行为

<jsp:directive />行为相当于JSP指令,也就是说<jsp:directive.page />相当于<%@ page %>指令,<jsp:directive.include />相当于<%@ inlcude %>指令。
该行为与JSP指令可以互相改写,前者最初是为了XML格式的JSP准备的,但一般的JSP文件也可使用。

<jsp:plugin />嵌入Applet

Java Applet是运行在客户端浏览器里的Java小程序。在HTML里定义该元素,需要使用<applet>或<object>标签,但是这两个标签的参数繁多复杂,对Java程序开发者来说非常麻烦,因此JSP种提供了一组plugin行为来简化嵌入Applet的操作。

plugin行为包括<jsp:plugin />、<jsp:params />、<jsp:param />、<jsp:fallback />。

功能分别为:

  • <jsp:plugin />:定义Java Applet,并声明宽高等属性。
  • <jsp:params />:定义一组一对多的参数。
  • <jsp:param />:定义单个参数。
  • <jsp:fallback />:定义不支持Java Applet时的替换信息。

plugin各属性:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值