jsp页面的相关复习
1.jsp页面的实质是一个Servlet,跟Servlet的周期一样子,同样子有init(),service(),destory()三种方法。在jsp页面用c标签或者<%...%>嵌入java代码,相当于在jsp页面生成的servlet中执行对应的代码。生成相应的html页面在前台展示出来
语法:<%! ........%>则该代码servlet中被当做全局变量执行, <%=......%>被当做service()方法里面的变量执行。
<script> function loading() { document.write("JavaScript输出"); } </script> </head> <!-- 这里的loading事件在页面加载完毕以后 --> <body onLoad="loading()"> <!-- 下面的代码直接在页面输出jsp输出 --> <%="jsp输出"%> <%-- <%! int a=0; %> <% int b=0; a++; b++; %> a:<%=a %><br> b:<%=b %> --%> </body>
下面代码打开后,a随刷新次数逐渐增加,b的值不变化
2.jsp页面的加载顺序:
<script> //执行顺序4. 这个是整个页面加载完毕后再执行 /* document.onload(function(){ */ /**jsp表达式赋值**/ /* alert("444"+test1); alert("444"+test2); }); */ //在js里,执行顺序1,这块代码先执行 var test1= "<%=request.getAttribute("test1")%>"; var test2= "<%=request.getAttribute("test2")%>"; alert("111" + test1); alert("111" + test2); <% request.setAttribute("test2", "333"); %> </script> </head> <body> <!-- 执行顺序2 --> <p>222</p> </body> <script> //执行顺序3 alert("333" + test1); alert("333" + test2); </script>
代码的执行顺序如上面所示:执行结果依次alert:
111222
111null
333222
333null
(由于自己document.onload()写错,暂时不管随后补充),由此可以看出执行的顺序是先执行java代码,补充页面,然后按html执行的顺序执行页面代码。这里看出补充代码后,由于request.getAttribute("test2")在开始的时候还没有设定值,所以,执行var test2结果为null
浙公网安备 33010602011771号