JSP(一)jsp元素

(1)指令元素:用于从jsp发送一个信息到容器,比如设置全局变量、文字编码、引入包等

1、page

<%@ page language="java" contentType="text/html; charset=utf-8"   pageEncoding="utf-8"%>

page 指令中的常用属性:

language:定义要使用的脚本语言,目前只能是“java”, 即language="java"。

import: 和一般的Java import意义一样,用于引入要使用的类,只是用逗号“,”隔开包或者类列表。默认省略,即不引入其他类或者包。例如,import="java.io.*,java.util.Hashtable"。

session:指定所在页面是否参与HTTP会话。默认值为true,session="true"。

buffer:指定到客户输出流的缓冲模式。如果为none,则不缓冲;如果指定数值,那么输出就用不小于这个值的缓冲区进行缓冲。与autoFlash一起使用。默认不小于8KB,根据不同的服务器可设置。例如,buffer="64kb"。

autoFlash:如果为true缓冲区满时,到客户端输出被刷新;如果为false缓冲区满时,出现运行异常,表示缓冲区溢出。默认为true,例如autoFlash="true"。

info:关于JSP页面的信息,定义一个字符串,可以使用servlet.getServletInfo()获得。 默认省略。例如,info="测试页面"。

isErrorPage:表明当前页是否为其他页的errorPage目标。如果被设置为true,则可以使用exception对象。相反,如果被设置为false,则不可以使用exception对象。默认为false,例如,isErrorPage="true"。

errorPage:定义此页面出现异常时调用的页面。默认忽略,例如errorPage="error.jsp"。

isThreadSafe:用来设置JSP文件是否能多线程使用。如果设置为true,那么一个JSP能够同时处理多个用户的请求;相反,如果设置为false,一个JSP只能一次处理一个请求。例如,isThreadSafe="true"。

contentType: 定义JSP字符编码和页面响应的MIME类型。TYPE=MIME TYPE;charset=CHARSET。默认为TYPE=text/html,CHARSET=iso8859-1。例如contentType="text/html;charset=gb2312"。

pageEncoding:JSP页面的字符编码 ,默认值为pageEncoding="iso-8859-1",例如pageEncoding="gb2312"。

isELIgnored:指定EL(表达式语言)是否被忽略。如果为true,则容器忽略"${}"表达式的计算。默认值由web.xml描述文件的版本确定,servlet2.3以前的版本将忽略。例如isELIgnored="true"。

2、include

1.两种用法

<%@ include file=” ”%>

<jsp:include page=” ” flush=”true”/>  (动作元素)

2.用法区别

(1)执行时间上区别

<%@ include file=”relativeURI”%>                   是在翻译阶段执行

<jsp:include page=”relativeURI” flush=”true” />  在请求处理阶段执行.

(2)引入内容的不同

<%@ include file=” ”%>

jsp的include指令元素读入指定页面的内容。并把这些内容和本来的页面融合到一起。(这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的。

<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所天生的应答文本.

3、tablib 自定义标签

(2)脚本元素

JSP声明

声明(declaration)用来在JSP页面中声明变量和定义方法。声明是以<%!开头,以%>结束的标签,其中可以包含任意数量的合法的Java声明语句。下面是JSP声明的一个例子:

<%! int count = 0; %>

上面代码声明了一个名为count的变量并将其初始化为0。声明的变量仅在页面第一次载入时由容器初始化一次,初始化后在后面的请求中一直保持该值。

下面的代码在一个标签中声明了一个变量和一个方法:

<%!

String color[] = {"red", "green", "blue"};

String getColor(int i){

return color[i];

}

%>

也可以将上面的两个Java声明语句写在两个JSP声明标签中,如:

<%! String color[] = {"red", "green", "blue"}; %>

<%!

String getColor(int i){

return color[i];

}

%>

JSP小脚本

小脚本(scriptles)是嵌入在JSP页面中的Java代码段。小脚本是以<%开头,以%>结束的标签。例如<% count++; %>

小脚本在每次访问页面时都被执行,因此count变量在每次请求时都增1.由于小脚本可以包含任何Java代码,所以它通常用来在JSP页面嵌入计算逻辑。同时还可以使用小脚本打印HTML模板文本。

JSP表达式

表达式(expression)是以<%=开头,以%>结束的标签,它作为Java语言表达式的占位符。如<%= count%>

包含一个符合Java语法的表达式。表达式的元素在运行后被自动转化为字符串,然后插入到这个表达式的JSP文件的位置显示。因为这个表达式的值已经转化为字符串,所以能在一行文本中插入这个表达式。表达式是一个简化的了的out.println语句。

在页面每次被访问时都要计算表达式,然后将其值嵌入到HTML的输出中。

与变量声明不同,表达式不能以分号结束,因此下面的代码是非法的:

<%= count; %>

使用表达式可以向输出流输出任何对象或任何基本数据类型的值,也可以打印任何算术表达式、布尔表达式或方法调用返回的值。

在JSP表达式的百分号和等号之间不能有空格。

(3)动作元素

<jsp:forword page="realurl.jsp"  />

(4)jsp注释

<%--    这是注释   --%>

<!--    这是注释   -->

时间: 2024-10-25 05:33:19

JSP(一)jsp元素的相关文章

Tip:JSP标签也称之为Jsp Action(JSP动作)元素

JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入.语法: <jsp:include page="relativeURL | <%=expression%>" flush=&

Servlet,jsp,JSP技术 ,JSP编程

 一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 浏览器解析的时候是需要HTTP协议的,JAVA普通类有没有HTTP协议呢? 普通类没有. JAVA-(class)浏览器如何访问呢? 浏览器---HTML A   JAVA通过IO流生成HTML--->浏览器 B   JAVA 需要加入HTTP协议 解决上面2个问题可以通过 Servlet C  如

JSP动作--JSP有三种凝视方式

一.JSP动作 动作是特殊的标记,通过一个动作标记能够实现多行Java代码实现的效果.能够动态插入文件.重用JavaBean组件.导向还有一个页面等. 动作元素和指令元素不同,动作元素是在client请求时动态运行的,每次有client请求时可能都会被运行一次,而指令元素是在编译时被编译运行,它仅仅会被编译一次. <jsp:useBean> useBean动作用于创建引用,并将现有的Bean组件嵌入JSP. jsp:useBean> –        useBean动作用于创建引用,并将

jsp之jsp基础

1. Jsp生命周期 客户端第一次请求->web容器把jsp文件转译为servlet源文件(java)->编译为class文件->载入class文件生成servlet对象 2. Jsp转译的servlet 可重写的方法jspInit.jspDestroy 3. 指示元素 page <%@ page pageEncoding="gb2312" contentType="text/html; charset=utf-8" %> pageEn

[Servlet&amp;amp;JSP] 从JSP到Servlet

JSP与Servlet是一体的两面,JSP最后都会被容器转译为Servlet源码,自己主动编译为.class文件,载入.class文件然后生成Servlet对象. 由容器转译后的Servlet类具有_jspInit()._jspDestroy()._jspService()等方法,名称中有下划线前缀,表示这些方法都是容器转译时维护的,我们不应该从写这些方法.假设想要做些JSP初始化或收尾的工作.则应定义jspInit()或jspDestryoy()方法. 指示元素 JSP指示(Directive

JSP以及JSP解析原理

什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但: 它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据. 相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版. Jsp快速入门:在jsp页面中输出当前时

JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)

1.什么JSP * servlet:java编写的处理动态web的技术 * 特点:Java代码中嵌套html代码 * jsp * 特点:HTMl代码中嵌套java代码 * %tomcat%/conf/web.xml --> <servlet-mapping><servlet-name>*.jsp * 目的:将页面数据处理与页面显示相分离 2.JSP是如何工作的 * 继承关系 * public final class demo_jsp extends org.apache.ja

JSP Learning -- JSP&amp;EL(express language) studying Summary

1. JSP JSP(javaServerPage)would be supplementary for Servlet, rather than be substituted. Because the JSP sloves tow problems of Servlet.Such as,first,the HTML tags in Servlet all must be enclosed by Java String,thus,make send HTTP Response become a

【JSP】JSP基础学习记录(二)—— JSP的7个动作指令

2.JSP的7个动作指令: 动作指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用:而处理指令通常可替换成JSP脚本,它只是JSP脚本. JSP动作指令主要有如下7个. jsp:forward:执行页面转向,将请求的处理转发到下一个页面. jsp:param:用于传递参数,必须与其他支持参数的标签一起使用. jsp:include:用于动态引入一个JSP页面. jsp:plugin:用于下载JavaBean或

jsp的&lt;%@ include file=&quot;jsp/common.jsp&quot; %&gt;报错误Duplicate local variable basePath

将公共引入的文件放到common.jsp中,其他页面引入该jsp即可使用 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme() + "://" 5 +