`
luogl
  • 浏览: 17477 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何在freemarker中使用ajax theme

阅读更多
为什么我在.ftl文件中使用<@ww.head theme="ajax" debug="false"/>时就出错呢?请高手帮我看看到底是哪里的问题?
xwork.xml配置:
<action name="modTribeInput"
    class="com.xwkj.blog.tribe.web.action.TribeInputAction" method="modTribeInput">
  <result name="success" type="freemarker">/view/tribe/admin_tribe_1.htm</result>
  <interceptor-ref name="defaultComponentStack"/>
</action>
视图文件admin_tribe_1.htm部分代码:
<#import "/view/util/MarcoUtil.html" as pageUtil>
<html>
<head>
<base href="<@pageUtil.base/>"/>
<@ww.head theme="ajax" debug="false"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../css/base.css" type="text/css" rel="stylesheet">
<link href="../css/main.css" type="text/css" rel="stylesheet">
<title>部落编辑</title>
.....

出错信息:
FreeMarker template error!

on line 5, column 1 in view/tribe/admin_tribe_1.htm ww.head not found.
The problematic instruction:
----------
==> user-directive ww.head [on line 5, column 1 in view/tribe/admin_tribe_1.htm]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: on line 5, column 1 in view/tribe/admin_tribe_1.htm ww.head not found.
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:136)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:85)
at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:101)
at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:311)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:206)
at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:136)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:172)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at org.common.web.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:34)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:507)
at com.caucho.util.ThreadPool.run(ThreadPool.java:433)
at java.lang.Thread.run(Thread.java:595)




分享到:
评论
3 楼 luogl 2007-01-31  
终于找到原因了,原来是包冲突!我的工程里有webwork-2.2.4.jar和webwork-2-beta.2.4.jar,删除webwork-2-beta.2.4.jar就没错了,但是,新的问题又出来了我用:
<@ww.tabbedPanel id="tabbedpanel" >
<@ww.panel id="panel1" tabName="Panel1" remote="true" href="" theme="ajax" />
<@ww.panel id="panel2" tabName="Panel2" remote="true" href="" theme="ajax"  />
<@ww.panel id="panel3" tabName="Panel3" remote="true" href="" theme="ajax" />
</@ww.tabbedPanel>

显示不出那种标签的效果!为什么呢?
2 楼 luogl 2007-01-31  
我在webwork的showcase里又按原来思路试了一遍,通过!然后我再按showcase里的配置相应更新原来的应用,不行!copy showcase里的jar包覆盖原来应用的jar包,还是不行!我到底哪里错了?oh my god!
1 楼 luogl 2007-01-30  
帮忙顶一下啊

相关推荐

    freemarker ajax 请求json数据格式 联动下拉 漂亮的弹出框 提示框

    freemarker ajax 请求json数据格式 联动下拉 漂亮的弹出框 提示框freemarker ajax 请求json数据格式 联动下拉 漂亮的弹出框 提示框freemarker ajax 请求json数据格式 联动下拉 漂亮的弹出框 提示框freemarker ajax ...

    ssh+ajax+dwr_freemarker

    在SSH框架中,Ajax能够提升用户体验,减少用户等待时间,例如在注册登录过程中,可实时验证用户输入的有效性。 **Direct Web Remoting (DWR)** DWR是一种在浏览器和服务器之间进行远程调用的库,它使得JavaScript...

    freemarker 中文乱码解决

    在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的模板引擎,被广泛应用于Web开发中,用于动态生成HTML、XML等文本格式的页面。然而,当涉及到非英文...

    freemarker中文API手册

    3. 通用数据模型:FreeMarker不直接反射到Java对象,而是通过插件式对象封装,以变量方式在模板中显示。 4. 为Web准备:内建处理典型Web相关任务,能够集成到Model2 Web应用框架中作为JSP的替代,支持JSP标记库。 5....

    freemarker中文文档与包

    Freemarker是一个强大的模板引擎,主要用于生成HTML或其他类型的文本输出,尤其在Web应用开发中广泛使用。它是一种基于Java的开源技术,允许开发者通过简单的模板语言(Template Language)与数据模型相结合,动态...

    FreeMarker中文文档.pdf下载

    根据提供的文件信息,我们可以深入探讨FreeMarker的相关知识点及其在网页模板设计中的应用。FreeMarker是一种用Java编写的模板引擎,其主要用途在于帮助开发者高效地生成动态内容,尤其是在Web开发领域有着广泛的...

    FreeMarker2.3.23官方中文文档

    通过阅读和理解FreeMarker 2.3.23的官方中文文档,开发者能够熟练掌握FreeMarker的使用技巧,从而在Web应用开发中更加高效地创建和管理动态内容。这份文档详尽地涵盖了FreeMarker的各个方面,无论是初学者还是经验...

    在struts2中使用freemarker模版

    要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...

    Freemarker中遍历list集合实例

    本实例将详细介绍如何在Freemarker中遍历list集合,帮助你理解和应用这一核心功能。 在Freemarker中,遍历list集合主要依赖于`&lt;#list&gt;`指令。当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在...

    非常好的Freemarker中文教程

    Freemarker是一款强大的模板引擎,常...通过详细研读这份教程,开发者不仅可以掌握Freemarker的基本使用,还能深入理解其高级特性和优化技巧,从而在实际工作中更高效地生成静态文件,提升Web应用的性能和用户体验。

    Java中使用 FreeMarker 生成pdf盖章合同文件

    本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...

    freemarker 教程 使用手册

    2. 变量与数据模型:在Freemarker中,变量是由`${}`包裹的,它们从Java对象(数据模型)中获取值。数据模型是Java对象的集合,可以是Map、POJO或Spring MVC中的ModelAndView。 3. 标准指令:Freemarker提供了一系列...

    FreeMarker+中文手册

    2. **数据模型(Data Model)**:数据模型是应用程序提供给FreeMarker的数据源,它包含了要在模板中展示的变量和对象。这些数据可以是Java对象、集合、Map等。 3. **模板语言(Template Language)**:FreeMarker的...

    Struts2.0+Spring2.5+freemarker+ajax

    Struts2.0、Spring2.5、FreeMarker和Ajax是Web开发中常见的技术栈,它们各自在应用程序架构中扮演着重要角色。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,用于简化开发并提供强大的控制...

    freemarker-2.3.31-API文档-中文版.zip

    赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    freemarker中文手册.pdf

    - **模板内容**:示例中使用`${...}`包裹的占位符作为FreeMarker指令,将在渲染时被相应的数据替换。 - **数据模型**:定义了一个包含用户名称和最新产品的数据模型,该模型由开发者创建并通过FreeMarker传递给...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    freemarker-2.3.30-API文档-中文版.zip

    赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    freemarker中文学习资料

    - **数据模型**:Freemarker模板与应用程序的数据模型进行绑定,模型中的数据可以在模板中被引用和展示。 - **分离关注点**:Freemarker遵循MVC设计模式,负责视图部分,将业务逻辑和表现层分开,使代码更易于维护...

    FreeMarker中文参考手册以及jar包

    在Java项目中,通常将这个jar包添加到类路径(classpath)中,以便在程序中使用FreeMarker的API创建和处理模板。 总的来说,这份资源提供了全面的学习FreeMarker的资料,无论是初学者还是经验丰富的开发者,都能...

Global site tag (gtag.js) - Google Analytics