所谓的JSP(Java Server Page)就是指在HTML中嵌入大量的Java代码而已。
JSP注释
- 显示注释(允许客户端点击查看源码看到)
- <!-- 注释内容 -->(HTML注释)
- 隐式注释(客户端无法看见)
- // 注释:单行注释(Java注释)
- /* 注释 */:多行注释(Java注释)
- <%-- 注释 -->:JSP注释
Scriptlet
在JSP中,最重要的部分就是Scriptlet,所有嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来。在JSP中一共有3重Scriptlet代码:<% %>,<%! %>,<%= %>。
<% %>:在<%%>中可以定义局部变量,编写语句等。
1 <% 2 int x = 10; 3 String info = "www.baidu.com"; 4 out.println("<h2>x = " + x + "</h2>"); 5 out.println("<h2>info = " + info + "</h2>"); 6 %>
<%! %>:在此Script中可以定义全局变量、方法、类。<%! %>中不能出现任何其他语句。(注意:尽量不要在JSP中定义类或方法)
1 <%! 2 public static final String INFO = "www.google.com"; 3 %> 4 <%! 5 public int add(int x, int y) { 6 return x + y; 7 } 8 %> 9 <%! 10 class Person { 11 private String name; 12 private int age; 13 public Person(String name, int age) { 14 this.name = name; 15 this.age = age; 16 } 17 public String toString() { 18 return "name = " + this.name + ";age = " + this.age; 19 } 20 } 21 %> 22 <% 23 out.println("<h3>INFO = " + INFO + "</h3>"); 24 out.println("<h3>3 + 5 = " + add(3, 5) + "</h3>"); 25 out.println("<h3>" + new Person("zhang", 11) + "</h3>"); 26 %>
<%= %>:主要功能是输出一个变量或具体内容。有时也将其称为表达式输出。(尽量不要用out.println()输出,而使用表达式输出,使HTML代码和Java代码相分离)
1 <% 2 String web = "www.baidu.com"; 3 int temp = 30; 4 %> 5 <h3>web = <%=web%></h3> 6 <h3>temp = <%=temp%></h3> 7 <h3>name = <%="hello"%></h3>
编译指令
JSP编译指令是通知JSP引擎的消息,它不直接生成输出。
page指令
该指令是针对当前页面的指令。定义一个JSP页面的相关属性,包括设置MIME类型、定义需要导入的包、错误页的指定等。比较常用的是contentType、pageEncoding、errorPage/isErrorPage和import这4个指令。
page指令用法:<%@ page 属性=“内容”%>。
在page指令中,如果想让一个JSP文件显示中文,则必须对整个页面指定JSP编码。