struts2使用freemarker的问题!求各位大侠拔刀相助!!
想在sturts2里面使用freemarker做表现层,运行页面后总是报错:
java.lang.NoClassDefFoundError: javax.servlet.jsp.tagext.Tag
freemarker.ext.jsp.TaglibFactory.class$(TaglibFactory.java:466)
freemarker.ext.jsp.TaglibFactory$TldParser.endElement(TaglibFactory.java:594)
。。。。
上网查是说缺少包在tomcat的lib下发现servlet-api.jar里面确实没有Tag,而jsp-api.jar里面有Tag,我把jsp-api.jar也导入,还是报这个错,即使把tomcat lib下所有包导入也没用。。。郁闷啊!!!T_T
已经把struts-tags.tld复制到WEB-INF目录下;
web.xml的配置:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>JspSupportServlet</servlet-name> <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet></web-app>
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="test" namespace="/test" extends="struts-default" > <default-action-ref name="Category_list" /> <action name="df" > <result>/admin/default.jsp</result> </action> <action name="Category_list" class="com.mybbs.action.CategoryAction" method="list"> <result type="freemarker">/WEB-INF/template/categorylist.ftl</result> </action> </package></struts>