<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ include file="/common/header.jsp" %>
<%
/**jsp脚本段--执行顺序1. 靠前先执行**/
request.setAttribute("test", "1111");
%>
<script>
//jqery 执行顺序3. 这个是整个页面加载完毕后再执行
$(function(){
/**jsp表达式赋值**/
var test= "<%=request.getAttribute("test")%>";
alert("2"+test);
});
/**在js里,执行顺序2,这块代码先执行 jsp表达式 **/
var test= "<%=request.getAttribute("test")%>";
alert("1" + test);
</script>
</head>
<body></body></html>
一、JSP脚本语法
html注释: <!-- context -->,servlet中会生成,会发给浏览器
隐藏注释: <%-- context --%> , servlet不生成, 不发给浏览器
声明: 全局变量,整个页面内有效<%! int t=0 %> 该表达式内有效<% int t=0 %>
t:<%= ++t %></H1>
t1:<%= ++t1 %></H1>
表达式:<%=…%> 使用如上面的例子: <%= request.getAttribute("test")%>
Java脚本段:<%...%>
二、JSP编译器指令
1.page
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
2.include
1)静态导入 <%@ include file="logo.jsp"%> //logo.jsp只放你要准备被别人引入的commons的代码就行了。
是在jsp引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到一起,全部放到_jspService方法中 ),所以只生成了一个servlet,所以两个页面不能有同名的变量。
运行效率高一点点。耦合性较高,不够灵活
2)动态导入 <jsp:include page=“logo.jsp”></jsp:include>
是在servlet引擎转译后,请求的此页面,所以共生成了两个servlet,所以可以有同名变量。
生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活。
静态-动态,区别:静态导入会把所导入的代码嵌入到所导入的页面。
动态导入会把所导入的页面先编译好,把结果显示到所导入的页面。
三、内置对象-九种
request,请求对象 存放的数据在一次request有效
response,响应对象 存放的数据在一次response有效
pageContext,页面上下文对象,只在本页有效
session会话对象,保存用户的信息,跟踪用户的行为。 存放的数据在一次会话有效。
application应用程序对象.多个用户共享该对象,整个web应用运行期有效。可以做计数器。 相当于servlet的ServletContext 对象
out输出对象 PrintWriter out = response.getWriter();
config配置对象 可以得到web.xml中的参数。
page,页面对象
exception,例外对象
转载于:https://my.oschina.net/kelvinline/blog/299474