本人最近才学的STRUTS2。以前在JSP写JAVA代码惯了,现在对标签的使用一直很纠结。我有一个问题就是:
我在Action里把值放入session里后,并且是用静态变量做KEY的,现在该怎么在JSP里使用property标签把值读出来呢?context.getSession().put(AdminLoginInterceptor.SESSION_ADMIN_KEY, adminBean);就是<s:property/>里我该怎么写这个“AdminLoginInterceptor.SESSION_ADMIN_KEY”

解决方案 »

  1.   

    补充一下,我想访问到的是adminBean这个JAVABEAN的某个属性值
      

  2.   

    把adminBean定义为Action类的一个属性对象,同时定义get和set方法,就可以在jsp页面中用<s:property/>直接访问了。
      

  3.   

    回2楼的,我的adminBean是直接在Action方法里生产的对象,没有用到spring,整个项目就是只用了STRUTS2.完整的Action方法如下,直接在方法里new对象,这是我以前用惯了的写法,以后再重构了,现在赶工期,怎么方便怎么来。我现在就是想在JSP页面怎么能读到session里的adminBean中某一个属性值public String login() throws Exception {
    AdminDao adminDao = new AdminDao();
    AdminBean adminBean = adminDao.login(account, password);
    if (adminBean != null) {
    ActionContext context = ActionContext.getContext();
    context.getSession().put(AdminLoginInterceptor.SESSION_ADMIN_KEY, adminBean);
    return SUCCESS;
    } else {
    addActionError("用户名或密码不存在");
    return INPUT;
    }
    }
      

  4.   

    比如:AdminLoginInterceptor.SESSION_ADMIN_KEY = "admin";输出写法:<s:property value="#session.admin.userId" />