request.setAttribute("","");
用这个传值,必须是从上一个请求到下一个请求是转发请求(forward),而不能是重定向请求(redirect)
你用的应该是超连接或是提交到达Action的吧,这两种方法都是redirect请求
看看这个帖子,会有帮助
http://community.csdn.net/Expert/topic/4959/4959350.xml?temp=.4364435

解决方案 »

  1.   

    可是后来index.jsp页面改成了:
    <html:link page="/Login/login.jsp?operatorLogin=true>用户信息</html:link>
    login.jsp页面里:
    <%= request.getAttribute("operatorLogin") %>
    结果页面里还是没有值显示,这是为什么呢?超链接传参数又是怎么回事呢?
      

  2.   

    超连接?号传参和表单传参用request.getParameter("operatorLogin");
      

  3.   

    index.jsp页面的超链接没有变:
    <html:link page="/Login/login.jsp?operatorLogin=true>用户信息</html:link>
    login.jsp页面里改成:
    <logic:present parameter="operatorLogin">
    <%
    String login =request.getParameter("operatorLogin");
    request.setAttribute("operatorLogin",login);
    request.getRequestDispatcher("/login.do").forward(request,response);
    %>
    </logic:present>疯狂报错,偶都傻眼了
    是getRequestDispatcher()里面的路径有问题吗?我想让请求转发到Action里面
    这是struts.config文件里的内容:
    <action-mappings >
          <action
             attribute="loginForm"
             input="/Login/login.jsp"
             name="loginForm"
             path="/login"
             scope="request"
             type="com.hponline.network.action.LoginAction">
      

  4.   

    还是没能够解决错误,决定绕道而行了,改用hidden标签,已经搞定了,呵呵
    多谢大家帮忙:)
      

  5.   

    request.setAttribute()应该是只能在本页面获取设置的值,你在不同页面之间传,怎么不用
    session.setAttribute()