jsp 的 3 个编译指令 和 7 个动作指令

5.jsp的3个编译指令

page:针对当前页面的指令

include:指定包含另一个页面

taglib:定义和访问自定义标签


5.1 page指令(位于JSP 页面的顶端,一个 JSP 页面可使用多条 page 指令)

语法:<%@ 编译指令名 属性名="属性值"%> 例如下:

<%@ page language="java" %>

下面列出 page 所有属性:

language="java"// jsp 页面使用的脚本语言,默认值为java ,所以通常无须设置。

extends="package.class"// 实现接口。

import="package.class | package.*,..."// 导入包。

session="true | false"// 设定 jsp 页面是否需要 HTTP Session。

buffer="none | 8KB | size kb"// 缓冲区大小。默认为 8KB。

autoFlush="true | false"// 当缓冲区即将溢出时,是否强制输出缓冲区的内容。设置为 true 时正常输出; 为 false 时,则在 buffer 溢出时产生一个异常。

isThreadSafe="true | false"// 是否线程安全。

info="text"// jsp程序的说明信息,可通过 Servlet.getServletInfo() 方法取得 info 的值,如果是JSP页面,则可直接调用getServletInfo()。

errorPage="relativeURL"// 指定错误处理页面, 页面产生异常或错误时,则自动调用该属性所指定的 JSP 页面。

contentType="mimeType;charset=characterSet | text/html;charSet=ISO-8859-1"//

pageEncoding="ISO-8859-1"// 指定生成网页的编码字符集。

isErrorPage="true | false"// 设置当前 JSP 页面是否为错误处理程序。 如果该页面本身已是错误处理页面,则通常无须指定errorPage属性。

例如下:

<%@ page contnetType="text/html; charset=GBK" language="java" errorPage="" %>

<!-- 指定 info 信息 -->

<%@ page info="this is a jsp"%>


<!-- 输出 info 信息 -->

<%= getServletInfo() %>


5.2 include 指令(可将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句)

静态导入语法:<%@ include file="aaa.jsp"%>   

动态导入语法:<jsp:include> 后边会讲到

注意:静态包含还会将被包含页面的编译指令也包含进来,如果两个页面的编译指令冲突,那么页面就会出错。


6.jsp 的 7 个动作指令

jsp:forward执行页面转向,将请求处理转发到下一个页面。

jsp:param传递参数,必须与其他支持参数的标签一起使用。

jsp:include动态引入一个JSP 页面。

jsp:plugin下载 JAVABean 或 Applet 到客户端执行。

jsp:useBean创建一个JavaBean的实例。

jsp:setProperty设置 JavaBean 实例的属性值。

jsp:getProperty输出 JavaBean 实例的属性值。


6.1  forward指令

<!--JSP1.0 时使用的语法-->

<jsp:forward page="aaa.jsp"/>

<!--JSP1.1以上规范,可使用的语法-->

<jsp:forward page="aaa.jsp">

    <jsp:param name="age" value="23"/>

</jsp:forward>

转向到 aaa.jsp 页面, 此页面可接收传来的 param 参数(如下:)

<%= request.getParameter("age") %>


// 注意此转向后的地址栏不发生改变,不会显示aaa.jsp ,而是源来页面的地址,只是内容改变。


6.2  include 指令(动态include 指令 ,用于包含某个页面,它不会导入include 页面的编译指令,仅仅导入 body 内容插入本页面)

include 动作指令语法(如下:)

<jsp:include page="aaa.jsp" flush="true"/>

或者

<jsp:include page="aaa.jsp" flush="true">

    <jsp:param name="parameterName" value="parameterValue"/>

</jsp:include>


6.3   useBean、setProperty、getProperty 指令(这三个指令都与JavaBean 相关)

<!-- 创建lee.Person的实例,该实例的实例名为p1 -->

<jsp:useBean id="p1" class="lee.Person" scope="page"/>
<!-- 设置p1的name属性值 -->
<jsp:setProperty name="p1" property="name" value="wawa"/>
<!-- 设置p1的age属性值 -->
<jsp:setProperty name="p1" property="age" value="23"/>
<!-- 输出p1的name属性值 -->
<jsp:getProperty name="p1" property="name"/><br/>
<!-- 输出p1的age属性值 -->
<jsp:getProperty name="p1" property="age"/>


注:也可以不使用以上三个标签来完成 JavaBean 的操作(如下:)

<%

Person p1 = new Person();       // 实例化 Person 对象 

pageContext.setAttribute("p1",p1);  //将 p1 放置到 page 范围

p1.setName("wawa");

p1.setAge(23);

%>

<!--输出p1属性-->

<%=p1.getName()%>

<%=p1.getAge()%>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值