脚本标识
在JSP页面中,脚本标识使用的最为频繁,包括JSP表达式,声明标识和脚本程序。
JSP表达式
JSP表达式用于向页面中输出信息,语法格式为:
<%=表达式%>
JSP表达式不仅可以插入到网页文本中,用于输出文本内容,也可以插入到HTML标记中,动态设置属性值;
<%String manager="ttt";%>
姓名:<%=manager%> //输出 姓名:ttt
<%="姓名:"+manager%> //输出 姓名:ttt
表达式:可以是任何Java语言的完整表达式
声明标识
声明标识用于在JSP页面中定义全局的变量或方法。服务器执行JSP页面时,会把JSP页面转换为Servlet,声明标识定义的变量和方法转换为类的成员变量和方法。
语法格式:
<%! 声明的变量或方法%>
动作标识
包含文件标识(<jsp:include>)
用于向当前页面中包含其他文件,被包含文件可以时动态文件也可以是静态文件
若包含的是静态文件,页面执行后在使用了该标识的位置输出文件内容
若包含的时动态文件,JSP编译器将编译并执行这个文件
技巧:在进行文件包含时,为了使页面层次不冲突,建议将被包含文件的<html>,<body>等标记删除。
include指令和文件包含动作的区别
相同点:都可以用来包含文件
不同点:
1、include指令通过file属性指定被包含的文件,file属性不支持表达式,<jsp: inculde>动作标识通过page属性指定被包含的文件,page属性支持表达式。
2、使用include指令,被包含文件会原封不动的插入到包含页,编译成一个Java文件。使用<jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含文件,并将执行结果输出到浏览器,然后继续执行包含页的代码,服务器执行的时多个文件,编译器对文件分别编译。
3、在使用include指令包含文件时,被包含文件、包含文件中不能有重名的变量或方法(因为最终会生成一个文件);而在使用<jsp:include>动作标识时,由于文件单独编译,所以不会有冲突。
使用<jsp:include>进行文件包含
Hello.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%>
<html>
<title>使用文件包含动作指令</title>
<body>
你的名字是:
<form action="" >
<input type="text" name="name">
<input type="submit" value="提交">
<jsp:include page="responseHello.jsp"></jsp:include>
</form>
</body>
</html>
responseHello.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8"%>
<h3> Hello,<%=request.getParameter("name") %></h3>
浏览器截图:
请求转发标识<jsp:forward>
该动作标识可以将请求转发到其他web资源(JSP页面,HTML页面,Servlet等)
传递参数标识<jsp:param>
该动作标识可以作为其他标识的子标识,用于为其他标识传递参数