本帖最后由 chinaflyant 于 2014-05-21 13:37:33 编辑

解决方案 »

  1.   

     页面上面:
    <%@ 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");
    %>
      

  2.   

    臣妾实在做不到生命周期完全不同。<% session.setAttribute(....); // 这里还漏了个分号 %> 运行在服务器端。整个服务器端的JSP代码执行完了,才轮到客户端的浏览器,读取并执行JS代码,你说,同一个JSP里面早运行的服务器代码,能读到后运行的客户端变量值吗。
      

  3.   


    js这样写:
    <script>
    var tmp="${UN}";
    </script>
      

  4.   

    yangqiu0928您好,我是想给服务器session.setAttribute("UN",username),不是想给js变量赋服务器变量值
    其中username是变量名,不是字符串,username是用户输入时用户名,
    我想<%session.setAttribute("UN",username)%>;
    这样我在java后台可以读取到request.getSession().getAttribute("UN").toString()谢谢
      

  5.   

    js通过ajax或者提交隐藏表单,把js变量值作为参数值传给后台的程序,程序里面session.set("un", userNameFromRequestParameter)
    不过,就你这个username这个例子而言,你好像搞犯了吧。应该是前台(JS)变量值,是从服务器端(session/db)读取出来,用来显示当前用户名,而不是,前台随便告诉后台,老子叫“管理员”,他就是管理员的
      

  6.   

    如楼上所说,把这个值用ajax传递到后台,然后后台把这个值:request.getSession().setAttribute("UN","username");