struts.xml:
<interceptors>
<interceptor name="basic" class="interceptor.BasicInterceptor" />
<interceptor-stack name="default">
<interceptor-ref name="validation" />
<interceptor-ref name="timer" />
</interceptor-stack>
</interceptors>
<action name="*" class="action.BasicAction" method="{1}"
converter="converter.DateConvert">
<interceptor-ref name="default"></interceptor-ref>
<result name="input">/example/{1}.jsp</result>
<result type="redirectAction">login</result>
</action>
Action:
package action;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class BasicAction extends ActionSupport implements ParameterAware,
ServletRequestAware, ServletResponseAware, SessionAware,
ApplicationAware {
@Override
public void setApplication(Map<String, Object> arg0) {
}
@Override
public void setSession(Map<String, Object> arg0) {
//ActionContext.getContext().getSession();
}
@Override
public void setServletResponse(HttpServletResponse arg0) {
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
//ActionContext.getContext().get("request");
}
@Override
public void setParameters(Map<String, String[]> arg0) {
}
}
converter:
package converter;
import java.awt.List;
import java.lang.reflect.Member;
import java.util.Arrays;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class DateConvert extends DefaultTypeConverter {
@SuppressWarnings("rawtypes")
@Override
public Object convertValue(Map context, Object value, Class toType) {
if (toType == List.class)
{
return Arrays.asList(value);
}
return super.convertValue(context, value, toType);
}
@SuppressWarnings("rawtypes")
@Override
public Object convertValue(Map context, Object target, Member member,
String propertyName, Object value, Class toType) {
return super.convertValue(context, target, member, propertyName, value, toType);
}
}
interceptor:
package interceptor;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
@SuppressWarnings("serial")
public class BasicInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation arg0) throws Exception {
Map<String, Object> session = arg0.getInvocationContext().getSession();
if (null != session) {
// TODO
return arg0.invoke();
}
else{
return Action.LOGIN;
}
}
}
- 大小: 44.8 KB
分享到:
相关推荐
ssh中,Struts2的基础知识,是ssh的基础,教科书,请放心使用。
NULL 博文链接:https://yangeoo.iteye.com/blog/2020571
Struts2的一些基础知识介绍,strus2的原理,各种action的创建。
— Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比
详细介绍了struts2处理多个请求和域传参
关于struts2的介绍,详细介绍struts2,有简单到深入,一层层深入的解析,是struts2入门的好书。
struts的基础开发,可以帮助初学者学习struts2的相关知识。
Struts2基础知识---基于Struts2的action讲解课件,详细讲解了action---xml的配置
struts_基础知识和入门.pdf
Struts2基础知识讲解PPT课件---Struts2_Action,详细介绍action的工作原理
Struts2的拦截器——Struts2拦截器的基础知识
OGNL表达式 interceptor拦截器 valuestack的存入 /取出
这个是本人自学struts2框架时的总结笔记,里面关于struts2的基本知识很是详尽,如果想要进阶的就不要看了,这只是struts2基础的笔记,个人学习用的,绝不掺假!
6.7 OGNL表达式语言的基础知识 130 6.7.1 什么是OGNL 130 6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
综合实训 基于Struts2的Java专题学习网
详细讲解了S2SH框架技术的基本知识和使用方法,从Eclipse开发平台、JSP、Servlet等基础知识讲起,由浅入深,重点介绍了当前流行的三个轻量级开源框架:Struts2、Spring和Hibemate.