我正在研究两个jsp(索引和导航)。我通过索引上的ajax调用html代码的一部分。我从navigation.jsp页面调用函数“demo()”,并在index.jsp页面的脚本中定义函数。这里我在navigation.jsp页面的会话变量中设置一些变量值,但是当我在index.jsp页面上捕获它时,它保存第一个值。但是当我调用navigation.jsp页面时,会话变量没有更新。有没有scopr相关的问题????
index.jsp page
<script>
function demo()
{
var a ='<%= session.getAttribute("ab") %>';
alert(a);
}<script>
navigation.jsp page
if(chk1.contains((Integer)value));
{
ch = (String)chk1.get((Integer)value);
session.setAttribute("ab", ch);
String bu = (String)session.getAttribute("ab");
out.println(bu);
}
<a onclick="demo()">demo</a>
答案 0 :(得分:0)
调用JSP页面时,会按以下顺序发生以下情况:
因此,您的声明:<%= session.getAttribute("ab") %>
在HTML发送给用户之前执行,var a
在调用null
函数之前始终设置为demo()
。
有关详细信息,请查看我的另一篇帖子JSP inside ListItems onclick
右键单击浏览器并查看视图源并查看demo()
函数。
注意:始终尝试避免 Scriplet元素并使用JSP Standard Tag Library