<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
1、目的:实现系统登出功能,清除所有会话级ManageBean及其他session级变量:
2、view层
<h:form>
<h:outputText value="#{syslogoutBean.strtmp}" ></h:outputText>
</h:form>
3、Bean
public class SyslogoutBean {
private PublicService publicservice; //业务服务类
public PublicService getPublicservice() {
return publicservice;
}
public void setPublicservice(PublicService publicservice) {
this.publicservice = publicservice;
}
public void logoutAction()
{
publicservice.logoutSys();
}
}
public class PublicService
{
public String logoutSys() {
// 清除信息,并且转到首页
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(false);//务必设置为false
session.invalidate();
System.out.println("准备退出。");
return "clearsession";
}
}
4、配置
a、faces-config.xml
//Managedbean:
<managed-bean>
<managed-bean-name>syslogoutBean</managed-bean-name>
<managed-bean-class>com.gisco.adsys.view.bean.SyslogoutBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>publicservice</property-name>
<value>#{publicservice}</value>
</managed-property>
</managed-bean>
//导航:
<navigation-rule>
<from-view-id>/index_.jsp</from-view-id>
<navigation-case>
<from-outcome>clearsession</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
b、applicationContext.xml:
<bean id="publicservice"
class="com.gisco.adsys.service.PublicService" scope="session">
<property name="articleindexDao">
<ref bean="articleindexDAO" />
</property>
.....
</bean>
5、大功告成!