【概述】
JSP 脚本常用来生成 JSP 页面中动态内容,比如:Scriptlet 脚本程序等
JSP 中的脚本分为三个部分:脚本程序、JSP 表达式、声明标识,通过这些标识,JSP 页面中可以像编写 Java 程序一样来声明变量、定义函数、表达式的计算等。
【脚本片段】
代码片段就是在 JSP 页面中嵌入的 Java 代码或脚本代码,其在页面请求的处理期间被执行,通过 Java 代码可以定义变量或流程控制语句等,通过脚本代码可以应用 JSP 的内置对象在页面输出内容、处理请求、处理响应、访问 session 会话等。
脚本片段 <% %> 中的内容在 JSP 被翻译成 Servlet 后,存在于其 service() 方法中,因此可以在 <% %> 中定义 service() 发光法的局部变量或调用方法,但不能定义方法
代码片段和声明标识的区别是:通过声明标识或代码片段创建的变量和方法均仅在当前 JSP 页面中有效,但代码片段创建的生命周期是从创建到页面关闭,而声明标识创建的生命周期是从创建到服务器关闭。
语法格式:<% Java 代码或脚本代码 %>
<% int i=1; %>
<%=i%>
【JSP 表达式】
JSP 表达式提供了一个将 Java 变量或表达式的计算结果输出到客户端的简化方式,使用前提是 Java 变量要提前声明好,其将要输出的变量或表达式封装到 <%= %> 中,常用于向页面中输出信息,表达式的最终运算结果将被转换成字符串。
其不仅可以插入到网页的文本中用于输出文本内容,也可以插入到 HTML 标识中用于动态设置属性值。
语法格式:<%= 表达式 %>
<!-- 向浏览器输出 11 -->
<%=5+6 %>
<!-- 向浏览器输出 ABC -->
<% String str="ABC"; %>
<%= str %>
【声明标识】
声明标识用于定义 JSP 页面中全局变量或方法,通过声明标识定义的变量和方法可以被整个 JSP 页面访问。
服务器执行 JSP 页面时,会将 JSP 页面转为 Servlet 类,声明标识中内容的翻译在 Servlet 中,因此可以在 <%! %> 中定义 Servlet 的类变量、类方法。
在实际开发中,声明标识很少被使用。
语法格式:<%! 声明变量或方法的代码 %>
<!-- 声明全局变量与方法后,若后面通过<%=count()%>调用全局方法,则每次刷新界面都会输出前一次值+1的值 -->
<%!
int cnt=0;//声明全局变量
int count(){//声明全局方法
cnt++;
return cnt;
}
%>