您的位置:首页 > 其它

strut2中使用ajax主题时出现 template/ajax/head.ftl. 错误的解决办法

2012-07-11 17:33 483 查看
使用的是myeclipse自带的strut2版本是2.2.1 在项目中jsp页面引用strut2标签库<%@ taglib uri="/struts-tags" prefix="s" %> 然后使用ajax主题时 <s:head theme="ajax"/>后报了 以下错误

freemarker.core.InvalidReferenceException: Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl.
freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
freemarker.core.BuiltIn$stringBI._getAsTemplateModel(BuiltIn.java:362)
freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
freemarker.core.Expression.getStringValue(Expression.java:93)
freemarker.core.DollarVariable.accept(DollarVariable.java:76)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.MixedContent.accept(MixedContent.java:92)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.Environment.process(Environment.java:190)
freemarker.template.Template.process(Template.java:237)
org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:157)
org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)
org.apache.struts2.components.UIBean.end(UIBean.java:513)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.divSelectCompany_jsp._jspx_meth_s_005fhead_005f0(divSelectCompany_jsp.java:122)
org.apache.jsp.divSelectCompany_jsp._jspService(divSelectCompany_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)

原因说是没有找到对应的ajax模板文件template/ajax/head.ftl,由于我在项目中只是引用了strut2 Core Librayr  而在strut2.1以后的版本核心库和DOJO库分离开来,导致ajax主题对应的模板也转移到DOJO库中,因此只需要在项目中引用strut2 DOJO Library ,并且在项目中使用<%@ taglib uri="/struts-dojo-tags"  prefix="ss" %>以及<ss:head/>即可解决问题.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐