返回信息流想在javascript里获得session中user对象的name属性值 var name=session.getAttribute("user").getName()?这样怎么不行?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #13061同步于 2011/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
javascript怎么获得session中的一个对象的某个属性值
LuckyF
2011/4/27镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
session是存在服务器端的
js是客户端脚本,不能直接操作session
【 在 luckyf (luckyf) 的大作中提到: 】
: 想在javascript里获得session中user对象的name属性值 var name=session.getAttribute("user").getName()?这样怎么不行?
<script type="text/javascript">
var name = '<%= session.getAttribute("user").getName() %>';
</script>
这样如何?实际上是在服务器端把attribute的值弄出来,贴到javascript代码里;然后整个代码传到客户端;在客户端javascript执行的时候把那个值(还有左右两边的单引号)当作一个字符串处理。
或者这样,
<%
ObjectMapper mapper = new ObjectMapper(); // 来自Jackson。这个对象最好使用单例。
%>
<script type="..." >
var name = <%= mapper.writeValueAsString(session.getAttribute("user").getName()) %>;// 直接在服务器端转换成JSON,JSON就是JavaScript的数据类型,直接贴到JavaScript代码里就能用。这样什么稀奇古怪的Java数据都能传给JavaScript了。
</script>
然也
【 在 wks 的大作中提到: 】
: <script type="text/javascript">
: var name = '<%= session.getAttribute("user").getName() %>';
: </script>
: ...................