任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用。

一、JSP模版元素

  JSP页面中的HTML内容称之为JSP模版元素。
  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。

二、JSP表达式

  JSP脚本表达式(expression)用于将程序数据输出到客户端
      语法:<%= 变量或表达式 %>
      举例:输出当前系统时间:

 <%= new java.util.Date() %> 

  JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端。
  JSP脚本表达式中的变量或表达式后面不能有分号(;)

三、JSP脚本片断

  JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。语法:
    <%
            多行java代码
    %>

  在<% %>中可以定义变量、编写语句,不能定义方法。

范例:在Scriptlet中定义变量、编写语句

<%
int sum=0;//声明变量 /*编写语句*/
for (int i=1;i<=100;i++){
sum+=i;
}
out.println("<h1>Sum="+sum+"</h1>");
%>

注意事项:

  • JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。
  • JSP脚本片断中的Java代码必须严格遵循Java语法,例如,每执行语句后面必须用分号(;)结束。
  • 在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。

举例:

<%
int x = 10;
out.println(x);
%>
<p>这是JSP页面文本</p>
<%
int y = 20;
out.println(y);
%>

多个脚本片断中的代码可以相互访问,犹如将所有的代码放在一对<%%>之中的情况。如:out.println(x);
  单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句,例如:

<%
for (int i=1; i<5; i++)
{
%>
<H1>http://localhost:8080/JavaWeb_Jsp_Study_20140603/</H1>
<%
}
%>

四、JSP声明

  JSP页面中编写的所有代码,默认会翻译到servlet的service方法中, 而Jsp声明中的java代码被翻译到_jspService方法的外面。语法:
    <%!
        java代码
    %>
  所以,JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法
  多个静态代码块、变量和函数可以定义在一个JSP声明中,也可以分别单独定义在多个JSP声明中。
  JSP隐式对象的作用范围仅限于Servlet的_jspService方法,所以在JSP声明中不能使用这些隐式对象。

  JSP声明案例:

<%!
static {
System.out.println("loading Servlet!");
} private int globalVar = 0; public void jspInit(){
System.out.println("initializing jsp!");
}
%> <%!
public void jspDestroy(){
System.out.println("destroying jsp!");
}
%>

五、JSP注释

在JSP中,注释有两大类:

显式注释:直接使用HTML风格的注释:<!- - 注释内容- ->

隐式注释:直接使用JAVA的注释:///*……*/

 JSP自己的注释:<%- - 注释内容- -%>

这三种注释的区别

<!--这个注释可以看见-->

<%
//JAVA中的单行注释 /*
JAVA中的多行注释
*/
%> <%--JSP自己的注释--%>

HTML的注释在浏览器中查看源文件的时候是可以看得到的,而JAVA注释和JSP注释在浏览器中查看源文件时是看不到注释的内容的,这就是这三种注释的区别。

javaWeb学习总结(8)- JSP基础语法(2)的更多相关文章

  1. JavaWeb学习 (十四)————JSP基础语法

    一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将 ...

  2. JavaWeb【四、JSP基础语法】

    简介 JSP--Java Server Pages,根本是一个简化的Servlet设计,实现了在Java中使用HTML标签. 特点 跨平台,安全性好,大型站点开发,企业级Web应用,大数据. 对比: ...

  3. JavaWeb基础-Jsp基础语法

    jsp基础语法 JSP的组成 静态内容.指令.表达式.小脚本.声明.注释 JSP的生命周期 用户发出index.jsp ,服务端判断是否是第一次请求,若是第一次请求,则tomcat中的JSP引擎中的文 ...

  4. JSP学习(一)JSP基础语法

    JSP基础语法 1.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. <%@ page language=&quo ...

  5. Jsp基础语法(由简入杂)

    JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发 ...

  6. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  7. python学习第三讲,python基础语法之注释,算数运算符,变量.

    目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...

  8. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

  9. JavaSE入门学习6:Java基础语法之运算符和语句(上)

    继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...

  10. 新手学Html之JSP基础语法——入门(二)

    JSP基础语法 JSP注释 comment.jsp <%@ page language="java" contentType="text/html; charset ...

随机推荐

  1. First Article

    Hello World 愚人节的这天,我在我师傅的引导下,踏上了博客园这条不归路...... 先做下自我介绍,我姓李,木子李,因为本人比较中二,所以大家就叫我李中二吧! 工作是前端开发,目前正在深圳一 ...

  2. 提交到SVN中的项目被删除 且项目名已经被新建项目占用找回方法

    提到项目找回,一看就头疼,找回起来较麻烦.下面就讲一下. 首先,确定项目是否被删除?找项目,太多了,都被找一遍了,还是没找到,看看就头痛,换了个方法,找了个项目的包,xx.apk,反编译下吧,过程略, ...

  3. JavaScript基础学习(四)—Object

    一.Object的基本操作 1.对象的创建      在JavaScript中,创建对象的方式有两种:构造函数和对象字面量.      (1)构造函数 var person = new Object( ...

  4. html+css底部自动固定底部

    前端在切图过程中,肯定遇见过这种情况. 页面结构由三个部分组成,头部.内容.底部. 当一个页面的内容没撑满屏幕时,底部是跟着内容而并列存在的. 这个时候如果是大屏的话,底部下面会有多余的空白区域,而网 ...

  5. 使用vs2015搭建Asp.net Core

    准备工具    1.首先得安装vs2015 并且升级至 update3及以上  2.安装.net core sdk.附上官网下载地址 http://www.microsoft.com/net/down ...

  6. HDFS中NameNode启动过程

    移动到hadoop文件目录下 NameNode启动命令:sbin/hadoop-daemon.sh start namenode DataNode启动命令:sbin/hadoop-daemon.sh ...

  7. 【转】JDBC学习笔记(9)——DBUtils的使用

    转自:http://www.cnblogs.com/ysw-go/ 使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用D ...

  8. JS前端数据格式化

    当我们从后台取了数据,但是我们希望在前台统一显示格式时,我们可能需要格式化数据. 今天正好总结一下前端JS格式化数据的几个方法: 1. toFixed() 方法   可把 Number 四舍五入为指定 ...

  9. 从花式swap引出的pointer aliasing问题

    上次,一个同学问我,你知不知道可以不用引入中间变量就可以实现swap? 我说,我知道,可以用加减法或者异或实现,像是这样 void mySwap(int &x,int &y) { x= ...

  10. CF #335 div1 A. Sorting Railway Cars

    题目链接:http://codeforces.com/contest/605/problem/A 大意是对一个排列进行排序,每一次操作可以将一个数字从原来位置抽出放到开头或结尾,问最少需要操作多少次可 ...