基本语法
每个jsp文件都是有静态代码(html)和动态代码(java)构成。
JSP 注释
<%-- 这是jsp注释,运行之后在浏览器中不可见 --%>
<!-- 这是HTML注释,运行之后在浏览器可见 -->
JSP声明
<%!
// 声明一个变量
public int count;
// 声明一个方法
public String info(){
return "Hello";
}
%>
声明中可以定义成员变量和成员方法。JSP声明会在编译之后转化为Servlet的成员变量和成员方法。我们可以在Tomcat的work\Catalina\localhost(或者Eclipse的默认路径的.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\SimpleShop\org\apache\jsp)中的相应项目内的相应Servlet类文件中看到相应的代码段。不可以使用abstract进行JSP声明,因为抽象的方法会导致JSP对应的Servlet编程抽象类而无法实例化。
还有一点需要注意的是,JSP页面会编译成一个Servlet类,每个Servlet容器中只有一个实例,所以JSP中声明的变量时共有变量,所有的客户端共享同一个count变量,且该变量会一直保持到该实例被销毁为止。
输出JSP表达式
这是JSP提供输出表达式值的简单方法
<%=表达式 %>
<%-- 案例 --%>
<%=count %>
<%=info() %>
JSP脚本
JSP脚本在应用中使用的非常广泛,也是主要写java代码主要部分。
<%
BookDAO bookDao = new BookDAO();
ArrayList<Book> books = bookDao.getAllBooks();
if(books != null && books.size() > 0){
for(Book book:books){
%>
··· html代码 ···
<%
}
}
%>