你问题阐述不清楚!
用了struts,JSP里一样可以有if(session.getAttribute("user_name")==null)
这样的语句,绑定在会话里的对象,只要你不是人为地程序里重新设为null,或者session超时,或者关闭浏览器,这个session绑定量总有效,总能取到!

解决方案 »

  1.   

    但是struts是不提倡在页面中嵌入if(session.getAttribute("user_name")==null)这样子的代码的,
    所以不像jsp+javabean的的开发方式那样代码和显示都可以嵌在jsp中,所以想请问struts中该如何设置。
      

  2.   

    可以放在Action里面判断,利用HttpSession session=request.getSession()得到session,然后就可以像你在jsp页面中一样,获取session中的各种变量作判断。
      

  3.   

    在Action里可以创建一个新的HttpSession对象,并且把你所需要的信息对象保存在session范围内。然后就可以像你在jsp页面中一样,获取session中的各种变量作判断.
      

  4.   

    你先取到session就可以啦
    HttpSession session=request.getSession();
    然后就一样了
      

  5.   

    也就是说
    <html:form action="/message_add.do">
    <html:text property="name" size="26"/>然后我在action的execute里面,HttpSession session=request.getSession();
    就可以用session来读取name变量了?(当然,这些东西是该放在ActionForm里面,我这里只是做一个例子)
      

  6.   

    如果通过session的是否有效来控制显示,可以通过struts的logic标签来实现。具体syntax:
    在page的directive声明部分<%@ taglib uri=/WEB-INF/struts-logic.tld prefix="logic"%>;然后在page中加入<logic:present name="user_name" scope="session">如果存在session就会显示这些文字</logic:present>
      

  7.   

    jsp:
    if(session.getAttribute("user_name")==null)
    action:
    if(request.getsession().getAttribute("user_name")==null)
     throw new 自定义异常(“想写什么就写什么”);
      

  8.   

    如果通过session的是否有效来控制显示,可以通过struts的logic标签来实现。具体syntax:
    在page的directive声明部分<%@ taglib uri=/WEB-INF/struts-logic.tld prefix="logic"%>;然后在page中加入<logic:present name="user_name" scope="session">如果存在session就会显示这些文字</logic:present>