1、JSP语法分为三种不同的类型
包括“包含指令”,“页指令”和“taglib指令” 他们包含在 <%@ %>里面
2、脚本语法:
–HTML注释:<!–comments–> //会发送到客户端,是看的到的
–JSP注释 或者叫 隐藏注释:<%–comments–%>//不会发送到客户端,是看不到的。
–JSP表达式:<%= ######## %> 里面可以是java语句,这个表达式的作用是将=后面的内容输出。如果要在网页上输出一个时间,我们可以用表达式: <%= new java.util.Date() %>来输出时间
3、jsp声明语句:<%! int a=3; %> 而不是脚本段。
(与<% int a=3; %>输出的结果相同)
<%! int a = 3; %> //一个声明
<% int b = 3; %> //一个脚本段
<%=a %><br>
<%=b %> 输出结果是相同的
不同之处:<%= a– %>
第一次运行结果:3 3 第二次: 2 3 第三次: 1 3 第四次 0 3
原因:声明,它是全局变量的声明,而脚本段它是在一个方法里面的一个声明,在被转化为Servlet的java代码的时候a是这个类的成员变量,而b只是我们调用doGet方法,b是doGet方法里面声明的一个局部变量。在运行的时候,服务器只加载一次这个被编译过的class文件(Servlet是单例的,只有一个),将它加载到内存后继续调用的时候是不会重新加载的,所以这个类一直是”活“着的,所以每调用一次/刷新一次页面a的值都会减1,而b不会。
<%!int a = 3; %> //无法显示, 源代码
<% int b = 3; %> //无法显示
<%=a– %> //结果 全局变量 -20
<%=b– %> //结果 成员变量 3
<!– 我是html文档注释 <%int c = 5;%>–> //显示 <!– 我是html文档注释 –>
<%–我是jsp注释,这个怎么办? –%> //无法显示
<%=c– %>; //显示 成员变量 5;
绝大数我们使用的是脚本段,而不是使用声明
4、JSP表达式
用在页面上输出信息,格式如下:<%=expression %>
5、JSP脚本段
里面可以存放任何合法的java代码,格式如下:<% 代码 %>
6、<jsp:forward>指令用于转向页面,在该指令后面的所有代码都没有机会执行了,因为页面的流程已经转向了另外一个页面了。
<jsp:forward page = “image.jsp”>
<jsp:param name=”username” value =”riso” />
</jsp:forward>
<%System.out.println(“kkkkkkkkkk”); %>
生成Servlet的源代码
7、<JSP:include> 同知识点8相比较。
包含一个静态或动态文件。
格式如下:
a) <jsp:include page=”{relativeURL | <%=expression%>} ” flush=”true” />
b) <jsp:include page=”{relativeURL | <%expressioni %>}” flush=”true” >
7、8知识点include的差别?
7的include可以传入参数,将参数传入另外一个页面,而8的include不可以
8、包含指令—include指令
分块治之、重复利用、多个页面一改全改的思想
包含指令:指向当前页面插入一个静态文件的内容。
JSP语法格式如下:
<%@ include file = “relativeURL” %> 或者 <%@ include file = “相对位置” %>