一、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. 搭建专属于自己的Leanote云笔记本

    搭建专属于自己的Leanote云笔记本 Leanote 依赖 MongoDB 作为数据存储,下面开始安装 MongoDB: 下载 MongoDB 进入 /home 目录,并下载 MongoDB: cd ...

  2. 使用 docker 安装多版本的 MySQL

    原文:使用 docker 安装多版本的 MySQL 首先从 docker 官网下载安装 docker. 检查 docker 安装是否成功,出现类似下面的信息就是安装好了 $ docker versio ...

  3. IDEA 官方教程

    https://www.jetbrains.com/help/idea/discover-intellij-idea.html#UserInterface

  4. CentOS-6.4-minimal版中安装JDK_Maven_Subversion以及改动rpm包安装路径

    完整版见https://jadyer.github.io/2013/09/07/centos-config-develop/ /** * @see -------------------------- ...

  5. TRIZ系列-创新原理-31-多孔材料原理

    多孔材料原理的详细描写叙述例如以下:1)让物体变成多孔的.或者使用辅助的多孔部件(如插入,覆盖):2)假设一个物体已经是多孔了,那么事先往里面填充某种物质:这个原理提出的原因是,一般机械系统通常都是由 ...

  6. 机器学习完整过程案例分布解析,python代码解析

    所谓学习问题,是指观察由n个样本组成的集合,并依据这些数据来预測未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.如果如今有一个O2O领域的 ...

  7. HDU - 2254 奥运 (求等比数列和)

    Description 北京迎来了第一个奥运会,我们的欢呼声响彻中国大地,所以今年的奥运金牌 day day up! 比尔盖兹坐上鸟巢里,手里摇着小纸扇,看的不亦乐乎,被俺们健儿的顽强拼搏的精神深深的 ...

  8. hdoj-1421-搬寝室【DP】

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  9. [python]CompressionError: bz2 module is not available

    事情是这种,在centos6 上本来是python2.6 然后我下载了一个python2.7.5 安装之后,把默认python改动为python2.7.5版本号. 使用pip安装twisted的时候出 ...

  10. Linux-----Ubuntu Server安装图形界面

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...