JSP中验证码的问题,求各位大虾帮手下。!
在JSP页面请求的时候,我一个<img src="请求后台URL"/>去加载一段验证码图片。
我用session在后台保存值。然后前台用<%session.getattribute %>取值的时候一直取的是上个session的值。。
后台才知道JSP是先加载code再去加载图片的。。
所以我每次取的session是上个action传过来的session 取当前的取不到。
有没有页面刷新session的方法或者什么的啊 怎么取到当前session的值啊!
小弟求解。!!
------解决方案--------------------给img标签加onload事件或者window.onload事件,然后动态向head增加一个script标签加载一个动态页输出session。
不能直接<%=session%>,因为<%%>这些代码执行完了才会执行到客户端的img加载图片,session才更新到最新的验证码。
<script>
function getSession() {
var s = document.createElement('script');
s.src = '输出session的动态页';//只负责输出 var session='验证码session的值'; 这些内容就行
s.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(s);
}
</script>
<img src="验证码地址url" onload="getSession()" />