<script language="javascript">
var username="guest";
<%session.setAttribute("UN",username)%>;
//我这样写报错,请问如何给Session UN赋值为js中的变量username,谢谢。
}
</script>
------解决方案--------------------
页面上面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.getSession().setAttribute("UN","username");
%>
------解决方案--------------------
臣妾实在做不到。。。
生命周期完全不同。<% session.setAttribute(....); // 这里还漏了个分号 %> 运行在服务器端。整个服务器端的JSP代码执行完了,才轮到客户端的浏览器,读取并执行JS代码,你说,同一个JSP里面早运行的服务器代码,能读到后运行的客户端变量值吗。
------解决方案--------------------
一楼正解,二楼连错误都找出来了
------解决方案--------------------
js这样写:
<script>
var tmp="${UN}";
</script>
------解决方案--------------------
js通过ajax或者提交隐藏表单,把js变量值作为参数值传给后台的程序,程序里面session.set("un", userNameFromRequestParameter)
不过,就你这个username这个例子而言,你好像搞犯了吧。应该是前台(JS)变量值,是从服务器端(session/db)读取出来,用来显示当前用户名,而不是,前台随便告诉后台,老子叫“管理员”,他就是管理员的
------解决方案--------------------
如楼上所说,把这个值用ajax传递到后台,然后后台把这个值:request.getSession().setAttribute("UN","username");