JSP表达式
<%-- 用来将变量或者表达式输出到浏览器页面--%>
<%= new java.util.Date()%>
<br>
<% out.print(new java.util.Date());%>
<%--相当于是<%out.print(new java.util.Date());%>--%>
转换成java后:
out.print( new java.util.Date());
out.write("\n");
out.write("<br>\n");
out.print(new java.util.Date());
java语句没有变化
html语句会用out.wirte等转换成java语句
JSP片段
<%--jsp脚本片段--%>
<%
int sum = 0;
for (int i = 0; i <50 ; i++) {
sum+=i;
}
// out.println("<h1>Sum="+sum+"</h1>");
%>
<% int x = 470;
out.print(x);%>
<p>这是一个JSP文档</p>
<%
int y = 40;
out.print(y);
%>
<% for (int i = 0; i <5 ; i++) { %>
<h1>Hello World <%= i%></h1>
<%
}
%>
对应生成的java代码
int sum = 0;
for (int i = 0; i <50 ; i++) {
sum+=i;
}
// out.println("<h1>Sum="+sum+"</h1>");
out.write("\n");
out.write("\n");
out.write(" ");
int x = 470;
out.print(x);
out.write("\n");
out.write(" <p>这是一个JSP文档</p>\n");
out.write(" ");
int y = 40;
out.print(y);
out.write('\n');
out.write(' ');
out.write(' ');
for (int i = 0; i <5 ; i++) {
out.write("\n");
out.write(" <h1>Hello World ");
out.print( i);
out.write("</h1>\n");
out.write("\n");
}
out.write('\n');
out.write('\n');
out.write('\n');
out.write("\n");
out.write("\n");
out.write(" </body>\n");
out.write("</html>\n");
JSP声明
<%--上面的内容都会放在java文件中的service方法中,下面介绍定义全局变量--%>
<%--这又叫做JSP声明--%>
<%!
static {
System.out.println("loading serevlet");
}
private int globalVar = 20;
%>
public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
static {
System.out.println("loading serevlet");
}
private int globalVar = 20;
可以看到,这是出现在类下面的,不是在方法中
注释的区别:
JSP的注释:<%-- --%>
HTML的注释:
JSP的注释不会在浏览器中显示,也不会在生成的java文件中显示
JSP指令:
自定义错误界面:
<%@ page errorPage=“error/500error.jsp” %>
拼接页面:
%@include会把合二为一,把内容拿出来在放进去
jsp:include是拼接