我没有为 struts2 使用 freemarker,但我看到 freemarker 生成了很多日志记录
I am not using freemarker for struts2, but I see lots of logging generated by freemarker
我正在为我的 Web 应用程序使用 struts 2 和 jsp,但我看到在我的控制台上生成了很多 freemarker 调试消息。
我已经使用 slf4j 和 log4j2 配置关闭了日志记录。但是,深入了解配置。
freemarker 似乎包含在 struts-default 包中,通过扩展它,我也会在我的 web 应用程序中包含 freemarker 支持。
我的 struts.xml 配置有误吗?禁用输出到控制台是唯一的方法吗?
如何从我的应用程序中 "remove" freemarker?
我的struts.xml
<package name="test" namespace="/" extends="struts-default">
struts-default.xml
<package name="struts-default" abstract="true" strict-method-invocation="true">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.result.ServletDispatcherResult" default="true"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="org.apache.struts2.result.HttpHeaderResult"/>
<result-type name="redirect" class="org.apache.struts2.result.ServletRedirectResult"/>
<result-type name="redirectAction" class="org.apache.struts2.result.ServletActionRedirectResult"/>
<result-type name="stream" class="org.apache.struts2.result.StreamResult"/>
<result-type name="velocity" class="org.apache.struts2.result.VelocityResult"/>
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText" class="org.apache.struts2.result.PlainTextResult" />
<result-type name="postback" class="org.apache.struts2.result.PostbackResult" />
</result-types>
Struts2 使用 THEMEs 从 Struts 标签生成代码;
THEME 是 TEMPLATEs 的集合(每个标签一个);
这个 TEMPLATEs(在 struts2-core-xxx.jar -> 模板中)是 FreeMarker 模板。
那么你不是直接使用Freemarker(例如in place of the JSPs),而是Struts2隐式使用Freemarker,你不能删除它。
XY:您的日志记录污染问题可以通过将服务器级别提高到 ERROR 并将您的应用程序提高到 DEBUG 来解决,而不是让整个服务器都进行 DEBUG。
我正在为我的 Web 应用程序使用 struts 2 和 jsp,但我看到在我的控制台上生成了很多 freemarker 调试消息。
我已经使用 slf4j 和 log4j2 配置关闭了日志记录。但是,深入了解配置。
freemarker 似乎包含在 struts-default 包中,通过扩展它,我也会在我的 web 应用程序中包含 freemarker 支持。
我的 struts.xml 配置有误吗?禁用输出到控制台是唯一的方法吗?
如何从我的应用程序中 "remove" freemarker?
我的struts.xml
<package name="test" namespace="/" extends="struts-default">
struts-default.xml
<package name="struts-default" abstract="true" strict-method-invocation="true">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.result.ServletDispatcherResult" default="true"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="org.apache.struts2.result.HttpHeaderResult"/>
<result-type name="redirect" class="org.apache.struts2.result.ServletRedirectResult"/>
<result-type name="redirectAction" class="org.apache.struts2.result.ServletActionRedirectResult"/>
<result-type name="stream" class="org.apache.struts2.result.StreamResult"/>
<result-type name="velocity" class="org.apache.struts2.result.VelocityResult"/>
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText" class="org.apache.struts2.result.PlainTextResult" />
<result-type name="postback" class="org.apache.struts2.result.PostbackResult" />
</result-types>
Struts2 使用 THEMEs 从 Struts 标签生成代码;
THEME 是 TEMPLATEs 的集合(每个标签一个);
这个 TEMPLATEs(在 struts2-core-xxx.jar -> 模板中)是 FreeMarker 模板。
那么你不是直接使用Freemarker(例如in place of the JSPs),而是Struts2隐式使用Freemarker,你不能删除它。
XY:您的日志记录污染问题可以通过将服务器级别提高到 ERROR 并将您的应用程序提高到 DEBUG 来解决,而不是让整个服务器都进行 DEBUG。