FreeMarker验证xml、tld报错

一个小的web应用,使用了Stripes+FreeMarker,打开ftl文件时Tomcat了一堆xml文件格式错误,其中包括web.xml和tld的错误。追查了半天,确定是Freemarker造成的。最初修改了log配置,把FreeMarker的错误屏蔽掉,结果发现,这个错误直接报到Tomcat去了。没办法,查Freemarker的代码freemarker.ext.jsp.TaglibFactory中379行
	factory.setValidating(true);

这里设置了校验,而且没有默认的ErrorHandler,没时间细追查,简单粗暴的把这里的校验关掉,世界安静了。
遗留问题:
Freemarker管的面太宽了,classpath内的东西都要伸手,这点很烦很郁闷。
如果设置ErrorHandler应该可以捕获错误,转而输出到指定的log上。
web.xml明明没有错误,服务运行的好好的,用jsp做前端一切正常,为什么Freemarker会校验错误?Servlet 2.4标准改用xml schema造成的?tld同样。

你可能感兴趣的:(tomcat,jsp,xml,freemarker,ext)