一、JSP页面中的凝视

(1)HTML凝视

<!-- comment [ <%=expression %> ] -->

能在client显示的一种凝视,标记内的全部JSP脚本元素、指令和动作正常运行,也就是说编译器会扫描凝视内的代码行。

(2)Java凝视(隐式凝视)

<% //comment%>

<%/*comment  */ %>

(3)JSP凝视(隐式凝视)

<%--comment--%>

注意:用隐藏凝视标记的字符会在JSP编译时被忽略掉,标记内的全部JSP脚本元素、指令和动作都将不起作用。 JSP编译器不会对凝视符之间的语句进行编译的。它不会显示在客户的浏览器中。

二、JSP脚本元素

<%! %> (声明)

在此Scriptlet中能够定义全局变量、方法和类

<%= %> (表达式)

主要功能是输出一个变量或者一个详细内容

<% %>(脚本程序)

在此Scriptlet中能够定义局部变量。编写语句等

1.声明<%! %>

在JSP文件里,一次能够声明一个或多个变量和方法,它们之间用分号隔开。

在声明时使用JAVA语言时,必须符合JAVA语言规范。

注意:

变量必须先声明,然后才干使用;

声明必须以分号结尾。

通过page指令导入的包中已声明的变量或方法,能够在主JSP文件里直接使用它们;

JSP页面成员变量是被全部用户共享的变量。不论什么用户对JSP页面成员变量操作的结果,都会影响到其它用户。

2. 表达式<%= %>

表达式标签能包括符合JAVA语言规范的不论什么有效表达式;

表达式用于求值,然后其值转化为字符串,并且插入在JSP文件里显示该表达式的地方。

不能使用分号作为表达式的结尾,然而,在脚本段<%……%>标签中,表达式要求以分号作为结尾。

3. 脚本程序<% %>

在脚本段能声明多个变量和方法。

能使用不论什么有效的表达式;

能够包括不论什么有效的程序片段。仅仅要合乎java本身的标准语法就可以;

<% %>不能嵌套使用;

在<% %>之间不能插入HTML。

三、JSP指令元素(directives)

指令( directives )主要用来提供整个JSP页面网页相关的信息,而且用来设定JSP网页的相关属性。比如网页的编码方式、语法、信息等。

起始符号:

<%@

终止符号:

%>

内文部分:一些指令和一连串的属性设定

<%@ directive{attribute="value"} %>

四、设置文件编码

contentType的charset是指server发送给client浏览器时所见到的网页内容的编码 ,pageEncoding是指jsp文件自身存储时所用的编码。

在JSP标准的语法中,假设pageEncoding属性存在。那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,假设charset也不存在,JSP页面的字符编码方式就採用默认的ISO-8859-1 。

五、JSP动作元素

include动作:<jsp:include>元素同意包括动态和静态文件,这两种文件产生的结果是不尽同样的。

假设包括的是静态文件,那么仅仅是将静态文件的内容加到JSP网页中;假设包括进来的为动态文件。那么这个被包括的文件也会被JSP容器编译运行。

语法:

<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>

或

<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>

<jsp:paramvalue={"value" |"<%=name%>" } name="name"/>*

</jsp:include>

<jsp:include>有两个属性:page和flush。page:能够代表一个相对路径。即所包括进来的文件位置或是经过表达式运算出的相对路径;flush:接受的值为boolean,如果为true,缓冲区满时。将会被清空。默认值为false。

<jsp:param>用来传递一个或多个參数给JSP网页。

include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为Java文件处理并执行。

include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被载入运行时。才去处理include动作标记引入的文件。

forward动作

<jsp:forward>的定义:将client所发出来的请求。从一个JSP网页转交给还有一个JSP网页。

语法:

<jsp:forwardpage={"URL" | "<%=expression%>"}/>

或

<jsp:forward page ={"URL"|"<%=expression%>"}>

<jsp:param value={"value"|"<%=name%>" } name="name" />

</jsp:forward>

假设加上<jsp:param>标签,就行向目标文件传递參数或值。

属性:page。page的值,能够是一个相对路径,即所要又一次导向的网页地址。也能够是经过表达式运算出的相对路径。

该动作属于server端跳转。

JSP语法基础(一)的更多相关文章

  1. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

  2. JSP语法

    第3章  JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...

  3. JSP(1)—基础知识

    JSP(1)-基本知识 起源 在很多动态网页中绝大多数网页都是固定不变的只有局部内容需要动态产生和改变,如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的的静态内容,也需要程序 ...

  4. JSP 语法

    JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...

  5. JavaWeb:JSP技术基础

    JavaWeb:JSP技术 快速开始 介绍 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%> ...

  6. JSP-Runoob:JSP 语法

    ylbtech-JSP-Runoob:JSP 语法 1.返回顶部 1. JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达 ...

  7. JSP Web第四章整理复习 JSP技术基础

    P104 JSP简介 (1)基本概念:jsp技术.jsp.jsp网页组成 JSP技术基础java servlet和整个java体系的Web服务器端开发技术. JSP表示它是用java写的Web服务页面 ...

  8. python基础入门一(语法基础)

    作为自己正式接触并应用的第一门编程语言,在Alex和武sir两位大王的要求下,开始了写博客总结的日子.学习编程语言是很有趣的一件事情,但有2点请一定要谨记:1.做人靠自己,码代码也必须靠自己.能不能成 ...

  9. PHP语法基础

    1.PHP语法基础 PHP标记符 <?php ?> 常亮与变量 $a = 10; 变量 可以在运行过程中修改 $a = 10; $a = 20; $b = 5; echo $a+$b; c ...

随机推荐

  1. blkid---对系统块设备信息查询

    在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ...

  2. WEB开发中一些常见的攻击方式及简单的防御方法

    WEB开发中一些常见的攻击方式及简单的防御方法 转载:http://blog.csdn.net/seven__________7/article/details/70896913

  3. [Python] Python list slice syntax fun

    # Python's list slice syntax can be used without indices # for a few fun and useful things: # You ca ...

  4. CentOS6.4安装Docker

    首先,须要安装EPEL仓库 # wget http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh e ...

  5. ZOJ 1654 Place the Robots(放置机器人)------最大独立集

    Place the Robots http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1654 Time Limit: 5 Sec ...

  6. log4j+slf4j迁移到log4j2+slf4j (Servlet3.0)

    近期对系统中的旧项目实现log升级,选择了log4j2来取代log4j.作为最新一代的log实现.log4j2好在那里能够直接看log4j2性能章节. 这里写写怎样从log4j升级到log4j2. 1 ...

  7. elasticsearch index 之 create index(二)

    创建索引需要创建索引并且更新集群index matedata,这一过程在MetaDataCreateIndexService的createIndex方法中完成.这里会提交一个高优先级,AckedClu ...

  8. POJ 2455 二分+网络流

    题意: 思路: 莫名其妙TLE 啊woc我A了一坨题的网络流模板有问题 !!!! 在常数上会慢 (一个等于号 啊啊啊) 改了所有网络流有关的文章- .... //By SiriusRen #inclu ...

  9. 2011年度十大杰出IT博客获奖感言

        2011年度十大杰出IT博客获奖感言 在各位评委.网友的支持下,我的博客从前50名中脱颖而出跻身10强,得到这个消息之后心中充满了喜悦.在这里要感谢51CTO为大家提供这样一个良好的展示平台. ...

  10. 一款开源Office软件---Lotus Symphony在Linux系统下的应用

    点击下载观看试用录像   Linux系统下的办公软件有OpenOffice.永中Office.红旗Red Office.金山Wps Office及StarOffice等,今天我为大家介绍IBM推进军O ...