我在页面中,用window.open 打开一个窗体,里面 有个iframe,irfame里面src是个.do请求,在相应的action中我设置了session,结果在.do请求导向的页面中找不到session 值null

解决方案 »

  1.   

    应该不会出现这种情况吧。
    变量名都写对了吗?
    工程有没有禁用cookie?
    关键代码贴上来看看。
      

  2.   

    代码帖出来看看。set和get变量名是不是一致
      

  3.   

    struts-config中
    <action 
    type="com.dc.tirip.aas.console.stencil.StencilTreeAction" 
    validate="true" 
    input="/stencil/error.jsp" 
    scope="request" 
    path="/stencil/stentiltree"
    >
    <forward name="tree" path="/stencil/zjstenciltree.jsp" />
    </action>
    StencilTreeAction.java
    public class StencilTreeAction extends Action{
    public  static  String stencilTree="";
    private static ILogger log = ILogger.Factory.getLogger(StencilTreeAction.class);
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)  {
    log.debug("进入StencilTreeAction中");


    String id=request.getParameter("id");
    log.debug("取得的id是"+id);
    HttpSession session=request.getSession();
    if (id.equals("root"))
    {
    log.debug("开始画树根");
    stencilTree=DrawTree.get_initTree(request);
    log.debug("画树的字符串是(根):"+stencilTree);

    }

    else{
    log.debug("画子树,id是"+id);
    stencilTree=DrawTree.getSumtree(id,request);
    log.debug("画自树的字符串是(子树):"+stencilTree);
    }
    session.setAttribute("stencilTree",stencilTree);
    log.debug("画树的语句存入session中名字是stencilTree"+(String)session.getAttribute("stencilTree"));
    //session.setAttribute("stencilTree",stencilTree);
    log.debug("画树的语句存入session中名字是stencilTree"+(String)session.getAttribute("stencilTree"));
    return mapping.findForward("tree");
    }
    }
    页面
    stencilview.jsp 相关代码
    <td><input type="button" name="button1" value="查看功能模块" onclick="viewModule(<%=moduleLength %>)" class="btn"></td>
    function viewModule(value){
    if(value==0){
    alert("此模板没有模块!");
    }else{

    window.open("stenciltree.jsp","","width=430,height=330,scrollbars=1");
    }stenciltree.jsp 相关代码
    <iframe id="ifrLoad" style="width:0;height:0" src="stentiltree.do?id=root">
    </iframe>
    zjstenciltree.jsp 测试代码 out.println((String)session.getAttribute("stencilTree"));