首页 > 技术文章 > JSP基础语法总结

ning123 2016-09-23 13:17 原文

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

一、Jsp的模板元素

  Jsp页面中的HTML内容称为Jsp模板元素。

  Jsp模板元素定义了网页的基本框架,定义了页面的结构和外观。

二、Jsp表达式

  jsp脚本表达式(expression)用于将程序数据输出到客服端。

  语法:<%= 变量或者表达式%>

  EX:输出当前那系统时间

<%= new java.util.Data %>

  Jsp引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用:"out.print(****)"将数据输送给客户端。

  Jsp脚本表达式中变量或表达式后面不能有分号“;”、

三、Jsp脚本片段

  Jsp脚本片段——scriptlet用于在Jsp页面中编写多行Java代码。语法:

  <%

  多行Java代码

  %>

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

  EX:

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

  *注意事项

  1、Jsp脚本片段中只能出现Java代码,不能出现其他模板元素,Jsp引擎在翻译Jsp页面时,会将Jsp脚本片段中的Java代码原封不动的放到Servlet中的JspService方法中。

  2、Jsp脚本片段中的java代码必须要严格遵循Java语法,例如,每执行语句后面必须用分号“;” 结束。

  3、在一个Jsp页面中可以有多个脚本片段,子啊两个或者多个片段之间可以嵌入文本、html标记和其他Jsp元素。

  EX: 

<%
    int x=10;
    out.printfln(x);
%>

<p>这是一个P标签</p>

<%
    int y=20;
    out.printfln(y);
%>

    多个脚本片段中代码可以互相访问,犹如将所有的代码放在一对<% %>中一样。

    单个脚本片段中的Java语句可以是不完整的,但是,多个脚本片段组合后的结果必须是完整的Java语句

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

四、声明

  Jsp页面中编写的代码,默认会翻译到Servlet的Service方法中,而Jsp的声明中的Java代码被翻译到——JspService方法的外面。语法:

  <%!

  Java代码

  %>

  所以,Jsp声明可以用于定义Jsp页面转换成Servlet程序的静态代码块、成员变量和方法。

  多个静态代码块、变量和函数可以定义在一个Jsp声明中,也可以分别单独定义在多个Jsp声明中。

  Jsp隐式对象的作用范围权限于Servletd的JspService方法,所以在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注释在查看源文件是看不见的的,这就是三种注释的区别所在。

推荐阅读