我有一个页面,现在有3个图像 单击图像想要像这样设置会话属性
<a href="voting.jsp"><img onclick="myfunction('image_one')" src="image_one.jpg"></a>
<a href="voting.jsp"><img onclick="myfunction('image_two')" src="image_two.jpg"></a>
<a href="voting.jsp"><img onclick="myfunction('image_three')" src="image_three.jpg"></a>
<script>
function myfunction(name)
if(name='image_one')
<% session.setAttribute("user","image_one") %>
else if(name='image_two')
<% session.setAttribute("user","image_two")%>
elseif(name='image_three')
<% session.setAttribute("user","image_three")%>
</script>
现在,当我在voting.jsp页面中使用session.getAttribute时,答案始终是image_three 为什么
答案 0 :(得分:0)
您正在尝试在javascript / JQuery函数中使用服务器端代码(scriptlet)。 Scriptlet代码在服务器端执行,Web-Container(Tomcat Server)将干净的HTML页面作为响应发送。
所以基本上你在这里做的都是错误的。您无法在JavaScript函数中设置会话。
您可以在此流程中工作: 1.相应地设置任何变量的值。选择图像。
2.通过提交页面并通过相应的值设置会话,将此值发送到servlet。
答案 1 :(得分:0)
在设置值到会话之前删除会话值。
<% session.removeAttribute("user");
session.setAttribute("user","image_one"); %>