Struts的action获取JSP页面Application范围内属性值

  同事今天要为业务系统增加单点登录成功后记住密码的功能(登录时需要选择是否记住密码),由于业务系统登录是请求到CAS统一认证系统进行登录认证故业务系统不能从request或sesssion中获取登录页面参数(登录页面表单并未提交到业务系统后台)。
  解决该问题方法:可以再登录页面提交认证之前使用JSP内置对象application的setAttribute("name",nameValue)方法将参数放置到application范围内,即在JSP提交认证方法中加入<%application.setAttribute("isSavePas" isSavePas)%>代码。业务系统即可在action(action需要实现ServletContextAware接口)通过ServletContext servletContext = ServletActionContext.getServletContext();
String isSavePs = servletContext.getAttribute("isSavePs ");获取登录页面是否保存密码参数值。
保存cookie后需要执行sevletContext的removeAttribute方法删除该属性。

 

你可能感兴趣的:(jsp,struts,企业应用)