看了朋友的项目配置,对比自己的,于是有了点心得,纠正下错误
编写一个过滤器实现Interceptor接口
[code]package com.web.vk.tools;
import java.util.Map;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.xwork.interceptor.Interceptor;
import com.web.vk.tools;
public class AdminInterceptor implements Interceptor ...{
public static final String login= "LOGIN";
public AdminInterceptor () {
}
public void destroy() {
}
public void init(){
}
public String intercept(ActionInvocation arg0) throws Exception {
Map session = ActionContext.getContext().getSession();
if (session.get("user") == null) { return login; }
return arg0.invoke();
}
}[/code]
然后再写一个webwork的配置文件[size=15]base-xwork.xml[/size]
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN"
"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="base-xwork" extends="webwork-default">
<interceptors>
<interceptor name="AdminInterceptor"
class="com.web.vk.tools.AdminInterceptor">
</interceptor>
<interceptor-stack name="baseStack">
<interceptor-ref name="exception" />
<interceptor-ref name="model-driven" />
<interceptor-ref name="params" />
<interceptor-ref name="AdminInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="baseStack"></default-interceptor-ref>
<global-results>
<result name="LOGIN" type="redirect">/login.jsp</result>
</global-results>
</package>
</xwork>[/code]
然后在需要实现拦截器的各个action继承base-xwork即可
[size=15]show-xwork.xml[/size][code]
<package name="show" extends="base-xwork">
<action name="showAction"
class="com.web.vk.actions.showAction">
<result name="success" >main.jsp</result>
</action>
</package>[/code]
最后在xwork.xml中
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" >
<xwork>
<include file="webwork-default.xml" />
<include file="xwork/base-xwork.xml" />
<include file="xwork/show-xwork.xml" />
</xwork>
[/code]
编写一个过滤器实现Interceptor接口
[code]package com.web.vk.tools;
import java.util.Map;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.xwork.interceptor.Interceptor;
import com.web.vk.tools;
public class AdminInterceptor implements Interceptor ...{
public static final String login= "LOGIN";
public AdminInterceptor () {
}
public void destroy() {
}
public void init(){
}
public String intercept(ActionInvocation arg0) throws Exception {
Map session = ActionContext.getContext().getSession();
if (session.get("user") == null) { return login; }
return arg0.invoke();
}
}[/code]
然后再写一个webwork的配置文件[size=15]base-xwork.xml[/size]
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN"
"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="base-xwork" extends="webwork-default">
<interceptors>
<interceptor name="AdminInterceptor"
class="com.web.vk.tools.AdminInterceptor">
</interceptor>
<interceptor-stack name="baseStack">
<interceptor-ref name="exception" />
<interceptor-ref name="model-driven" />
<interceptor-ref name="params" />
<interceptor-ref name="AdminInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="baseStack"></default-interceptor-ref>
<global-results>
<result name="LOGIN" type="redirect">/login.jsp</result>
</global-results>
</package>
</xwork>[/code]
然后在需要实现拦截器的各个action继承base-xwork即可
[size=15]show-xwork.xml[/size][code]
<package name="show" extends="base-xwork">
<action name="showAction"
class="com.web.vk.actions.showAction">
<result name="success" >main.jsp</result>
</action>
</package>[/code]
最后在xwork.xml中
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" >
<xwork>
<include file="webwork-default.xml" />
<include file="xwork/base-xwork.xml" />
<include file="xwork/show-xwork.xml" />
</xwork>
[/code]