在开发的时候发现Struts2.16 在action内抛出异常的时候,控制台是没有打印信息的,不过在Struts2.0的版本却可以,还不知道为什么要去掉(暂时不去研究),但这样很不方面,特别是写AJax 调用的时候。。于是对源码分析了一下后,发现了问题的所在是ExceptionMappingInterceptor 的默认参数的logEnabled 是false的,而抛出错误的时候根据这个判断决定是否打印。。
protected boolean logEnabled = false;
public String intercept(ActionInvocation invocation) throws Exception {
String result;
try {
result = invocation.invoke();
} catch (Exception e) {
if (isLogEnabled()) {
handleLogging(e);
}
List<ExceptionMappingConfig> exceptionMappings = invocation.getProxy().getConfig().getExceptionMappings();
String mappedResult = this.findResultFromExceptions(exceptionMappings, e);
if (mappedResult != null) {
result = mappedResult;
publishException(invocation, new ExceptionHolder(e));
} else {
throw e;
}
}
return result;
}
了解了问题所在后,就知道怎么解决这个问题了。我的临时解决方案是在struts2的配置文件上加上下面:
<interceptors>
<interceptor-stack name="default">
<interceptor-ref name="exception">
<param name="logEnabled">true</param>
<param name="logLevel">
warn</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="default"></default-interceptor-ref>
分享到:
相关推荐
《Struts 2.1权威指南》特点为:1.经验丰富,针对性强 《Struts 2.1权威指南》凝聚了作者大量的实际开发经验和感悟。作者依照读者的学习规律,首先介绍基本概念和基本操作,然后对内容进行深入讲解。 2.讲解具体,...
9. **安全考虑**:Struts2.1版本虽然古老,但安全问题不容忽视。例如,著名的Struts2远程代码执行漏洞(CVE-2017-5638)曾导致大量系统受到攻击,因此及时更新和加固Struts2的安全配置至关重要。 10. **版本升级**...
### Struts 2.1 教程知识点解析 #### 一、Struts 2.1 概述 - **框架定义**:Struts 2.1 是一款基于Java的开源Web应用开发框架,继承了Struts 1.x的优秀特性,并在很多方面进行了改进和优化。它提供了一种构建可扩展...
Struts2.1是Apache软件基金会的开源框架,主要用于构建基于Java EE的Web应用程序。它在Struts1的基础上进行了重大改进,提供了更强大的MVC(Model-View-Controller)架构支持,增强了动作处理、异常处理、国际化、...
Struts 2.1 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会维护。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建可维护性高、易于扩展的企业级Web应用。在这个...
Struts2.1权威指南 李刚的著作 共四个部分 用7-zip解压
struts2.1在tomcat下载的包总是报错,根据tomcat官方解释修改后无任何错误,并且已经运行
struts2.0升级到struts2.1的工具,自动修改配置文件和页面
Struts2.1是Apache软件基金会旗下的Web应用框架Struts的特定版本,它基于Model-View-Controller(MVC)设计模式,旨在提供一个结构化的、可扩展的平台,用于开发Java Web应用程序。Struts2作为Java EE领域的重要组件...
本文将详细介绍如何在MyEclipse 8.5环境下搭建基于Struts2.1、Spring3.0以及Hibernate3.3的SSH框架,并通过图解的方式引导读者完成整个搭建过程。 #### 二、创建 Web 项目 首先,需要在MyEclipse 8.5中创建一个新...
李刚的Struts 2.1权威指南:基于WebWork核心的MVC开发,写的很详细。一共有九个压缩文件。
Struts 2.1 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会维护。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建更高效、易于维护的Web应用。Struts 2.1版本是...
Struts2.1 是一个基于模型-视图-控制器(MVC)架构的Java Web框架,由Apache软件基金会维护。这个视频教程由黑马程序员提供,由黎活明主讲,旨在帮助开发者深入理解和掌握Struts2.1的核心概念和实际应用。 首先,从...
7. **异常处理(Exception Handling)**:Struts2.1提供了一套完整的异常处理机制,允许开发者定义全局或特定Action的异常处理策略。 8. **Tiles集成**:Tiles是一个用于构建Web页面布局的框架,Struts2.1可以方便地...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...