
调用JSP页面时,将按以下顺序进行以下 *** 作:
- 服务器检查.jsp是否已被编译以及自上次编译以来是否已更改。
- Server通过Jasper编译器运行jsp,Jasper编译器将jsp解释为Java代码,任何非Java的内容(CSS,HTML,Javascript等)都放置在String中。
- Java代码已编译并执行。
- 结果放入响应中并发送给用户。
因此,您的语句:
session.setAttribute在将HTML发送给用户之前执行,并且确实执行并且
currentPage始终设置为
secondPage已经。
如何验证?
在下面添加以下行,
div
然后查看其打印内容。<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
在浏览器中右键单击,然后查看视图源。内部
onclick
属性没有任何内容,因为将setAttribute
其制成了单独的命令并在将页面发送给您之前执行了该属性。<li onclick="">
您可以尝试如下所示将其作为查询字符串而不是会话属性传递。
<a href="/index.jsp?currentPage=firstPage">First Page</a><a href="/index.jsp?currentPage=secondPage">Second Page</a>
注意: 始终避免使用 Scriplet元素, 并使用JSP标准标记库
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)