jsp模板元素
jsp页面中的HTML 内容称为JSP模板元素
jsp模板元素定义了网页的基本骨架,即定义了页面结构和外观
jsp表达式
jsp脚本表达式用于将程序数据输出到客户端
语法<%=变量 或者表达式%>
例如输出当前时间:<%= new java.util.Date()%>
jsp引擎在翻译脚本表达式的时候,会将程序数据转换成字符串,然后在相应的位置用out.print(...)将数据输出给客户端
ps:jsp脚本表达式的变量和表达式后面不能有分号";"
<body>
<% int i=0; %>
<p>输出jsp中定义的变量i=<%=i %></p>
</body>
jsp脚本片段
jsp脚本片段用于在JSP页面中编写多行java代码。语法:
<%多行java代码%> 在<%%>可以定义变量编写语句,不能定义方法
<%
//声明变量
int sum=0;
for(int i=0;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元素。
多个脚本代码之间可以相互访问,就想将所有的代码放在一个<%%>代码块中一样。
单个jsp脚本中的java片段可以是不完整,但是多个脚本片段组合后的结果必须是完整的
jsp声明
jsp页面中编写的所有的代码,默认会翻译到servlet的service()方法中,而jsp声明中的java代码被翻译到_jspService方法的外面。
<%!java代码%>
所以jsp声明可以用于定义jsp页面转换成的servlet程序的静态代码块,成员变量和方法。
多个静态代码块,变量和函数可以定义在jsp声明中,也可以分别单独定义在多个jsp声明中。
jsp隐式对象的作用范围仅限于servlet的_jspService方法,所在jsp声明中不能使用这些隐式对象。
JSP的注释
显式注释:直接使用HTML风格的注释<!--注释内容-->
隐式注释:直接使用java的注释// /*....*/
JSP自己的注释: <%--注释的内容--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<%--<jsp:forward page="/pageContext/forward"></jsp:forward> --%>
<body>
<% //pageContext.forward("/pageContext/forward"); %>
<!-- <h1>我的首页</h1> -->
</body>
</html>