(index.jsp 页面,展现主题帖)
//从数据库获取主题帖,展现
List<Post> posts = PostManager.getInstance().getPosts(); ..........然后 for循环{
<script type="text/javascript">
function session(p){
<%session.setAttribute("post",p); %>
}
</script>
<A id=jive-thread-22 href="postdetail.jsp" onclick="session()"><%=p.getTitle() %></A>
} 我想要的是,当点击这个主题帖的链接的时候,这个主题帖对象p被保存到session,这样在postdetail.jsp就不用再查询了! 同一个用户,保存的同名session会覆盖!
结果:保存只是一个,不管你点击那个之后,跳转到postdetail.jsp页面之后,从session拿出来的,始终是最后的那个 p ! 不知道大家有没有什么好的解决办法?谢谢
解决方案 »
- 一个老程序员的前景
- 出现乱码的问题<很简单的一段html 麻烦各位看看 谢谢>
- struts2 ognl表达式jsp取值问题
- jsp登录注册如何使用MD5加密
- 迷上了游戏DOTA了,怎么办呀?各位大虾帮帮出出主意
- 在做注册功能的时候,普通用户权限和管理员权限怎么搞?是做单独的注册页面还是手工分配权限?还是另有其他方法?
- 求这个程序的源代码 文本挖掘中文本特征表示和特征选择方法与实现 谢谢
- hibernate查询2张表
- logic:iterate不能取数据,我的Action类哪点写错了?
- 为什么我的Tomcat启动不起来了?
- 对HttpServletRequest 进行包装后出现java.lang.ClassCastException
- 如何获取Struts2上传文件大小
也就是说 function session(p){
<%session.setAttribute("post",p); %>
} 在到达客户端之前 <% %> 已经执行了!另外,JavaScript 根本不可能去操作 Session 的。
添加事件:onclick="add(把主键放到这里)";
<script type="text/javascript">
function add( id)
{
var ajax=null;
if(window.XMLHttpRequest)
ajax=new XMLHttpRequest();
else if(window.ActiveXObject)
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
if(ajax==null)return false;
var url=aaa/b.do;
url+="pid="id;
ajax.open("get","url",false);
ajax.send(null);//然后在aaa/b.do的servlet里写上查询,从数据库里取值,并保存到session中当然有可能执行失败
</script>
很受益 一楼 的 !!
如1楼所说。。JSP是先编译的。
<script>
var readfromsession
readfromsession = '<%=Session("string")%>'
</script>
这个操作只能是单向的
在JS中可以读取SESSION中的值
如果想更新SESSION的值,可以通过JS用URL参数传递给一个ASPX文件,由它改变SESSION值
客户端操作SESSION这个无法实现,
当然使用变通的方法是可以实现的
但麻烦而且效率低,效果死板
也就是说 function session(p){
<%session.setAttribute("post",p); %>
} 在到达客户端之前 <% %> 已经执行了! 另外,JavaScript 根本不可能去操作 Session 的
可以使用ajax,提交回服务器去处理。。
添加事件:onclick="add(把主键放到这里)";
<script type="text/javascript">
function add( id)
{
var ajax=null;
if(window.XMLHttpRequest)
ajax=new XMLHttpRequest();
else if(window.ActiveXObject)
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
if(ajax==null)return false;
var url=aaa/b.do;
url+="pid="id;
ajax.open("get","url",false);
ajax.send(null);//然后在aaa/b.do的servlet里写上查询,从数据库里取值,并保存到session中当然有可能执行失败
</script>