如何将标记库作为域类中的函数进行调用

2023-11-27

我需要调用静态资源插件(http://www.grails.org/Static+Resources+Plugin)来自我的域类。

这在控制器中完美运行:

 def tstLink = resourceLinkTo(dir:"docs/${identifier}",file:originalFileName)

但在域类中我得到

Exception Message: No signature of method: static org.maflt.ibidem.Item.resourceLinkTo() is applicable for argument types: (java.util.LinkedHashMap) values: [[dir:docs/19e9ea9d-5fae-4a35-80a2-daedfbc7c2c2, file:2009-11-12_1552.png]] 

我认为这是一个普遍问题。

那么如何将 taglib 作为域类中的函数来调用呢?


不久前,我在开发一个应用程序时遇到了这个问题。我最终做的是在服务方法中调用标签:

class MyService {
   def grailsApplication //autowired by spring

   def methodThatUsesATag(identifier, originalFileName) {
      //This is the default grails tag library
      def g = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')

      g.resourceLinkTo(dir:"docs/${identifier}",file:originalFileName)
   }
}

然后在我的域类中,我也可以通过 spring 自动装配来访问该服务:

class MyDomain {
    String originalFileName
    def myService  //autowired

    static transients = ['myService'] //Necessary so that GORM doesn't try to persist the service instance.

    //You can create a method at this point that uses your
    //service to return what you need from the domain instance.
    def myMethod() {
       myService.methodThatUsesATag(id, originalFileName)
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将标记库作为域类中的函数进行调用 的相关文章

随机推荐

  • C# 中的嵌入资源字体无法正常工作

    我嵌入了一个 ttf字体文件 特别是 Amatic Bold 在我的资源中 我使用下面的代码来获取字体 我尝试了这篇文章中的代码 如何在我的 C 应用程序中嵌入字体 使用 Visual Studio 2005 这是我的实现 static p
  • HtmlAgilityPack 中的 NullReferenceException

    我正在尝试提取一个link using xpath从下面提到的网址 string url http www album cover art org search php q Ruin Live Album Version Lamb of G
  • 如何实现均衡器

    我知道 so 中有很多关于均衡器的问题 但我没有得到我想要的东西 我想做的是一个均衡器 用于以如下方式修改音频样本 equalizer eqAudio audiosamples band gain 我不确定这是否是我想要的确切接口 因为我对
  • 设计无密码更新用户

    我想在设备中更新没有密码的用户属性 这种情况就像 如果密码和密码确认字段不为空 那么我需要设计错误 如果它们为空 则需要更新其他用户属性 我怎样才能用 devise 做到这一点 提前致谢 我认为这是一个更好的解决方案 if params u
  • Qt 的 Visual Studio 集成工具有什么区别?

    Trolltech 发布了一款名为 Visual Studio 插件 表彰他们的 Qt LGPL 和 GPL 版本 他们声称商业版本附带了完整的 Visual Studio 集成工具 但我没有看到任何关于它们之间差异的描述 完整版中包含哪些
  • 客户端套接字 - 获取 IP - java

    我正在使用套接字实现 TCP 连接 我需要在服务器端获取客户端套接字的 IP 我已经用过socketName getRemoteSocketAddress 它确实返回了 IP 地址 后跟我正在使用的端口 ID 我怎样才能只获取地址而不获取端
  • 忽略其他类的 System.exit()

    鉴于下面的课程 public class ClassOne public static void main String args System exit 1 假设调用 ClassOne main 后还有其他事情要做 下面的类也将被销毁 p
  • 臃肿的 echo 命令

    看一下 echo 命令的以下实现 http bxr su o bin echo echo c 开放BSD http bxr su d bin echo echo c 蜻蜓 http bxr su n bin echo echo c 网络BS
  • 如何在 IIS 中添加服务器变量

    我对 IIS7 不太熟悉 我需要创建一个服务器变量 以便我可以在 PHP 代码中访问它 我可以在 Apache 中使用以下命令轻松完成此任务 SETENV 变量名 变量值 在 htaccess 文件中 然而 在 IIS 中实现这一点似乎有点
  • 如果没有促销价,如何显示 woocommerce 促销价或正常价格

    我正在使用 woocommerce 产品插件插件 我想在插件的下拉部分中显示产品的价格 目前我的代码是这样的 p class p
  • Exchange Powershell - 如何从内部脚本调用 Exchange 2010 模块?

    我正在编写一个脚本 该脚本可以使用 AD 和 Exchange 执行许多操作 并且刚刚到达 GUI 的部分 我需要在其中开始使用 Exchange 但看不到可以手动指定包含 Exchange 模块的位置 我熟悉的正常过程是导入模块活动目录
  • C# 在 Windows 中读取视频元数据(标题、描述、年份)

    大家好 只是想制作一个程序来浏览视频文件并从文件元数据中读取标题和描述 我找到了一些来自微软的文档here提供了所需的内容 但如何访问这些功能 C 中需要什么 using 命名空间 我希望能提供任何帮助 在您发布的链接中 滚动到底部并单击
  • 使用 Java 和 awt.Robot 时提高屏幕捕获速度

    编辑 如果有人还有任何其他关于提高屏幕捕获性能的建议 请随时分享 因为它可能完全解决我的问题 各位开发者大家好 我正在为自己开发一些基本的屏幕捕获软件 截至目前 我已经得到了一些概念证明 修补代码 它使用 java awt Robot 将屏
  • iPhone :UITableView CellAccessory 复选标记

    在 iPhone 应用程序中 单击表视图单元格我想显示表视图单元格附件类型在 didSelectRowAtIndexPath 上复选标记我正在编写代码 if indexPath row 0 tableView cellForRowAtInd
  • 同时最大运行Web Worker html5

    是否有可以同时运行的 Web Worker 的最大数量 多谢 是和不是 对于 Web Workers 没有硬性限制 但您会受到可用 CPU 和内存的限制 每个工作线程都会产生相当大的 CPU 和内存开销 因此如果您分拆大量工作线程 可能会导
  • java swing中的setvisible方法挂起系统

    我目前正在开发银行 gui 应用程序 我的 jdialog 的 setvisible 方法似乎有问题 用户提取有效金额后 我会弹出一个简单的对话框 显示 交易正在进行中 在我的 dobackground 方法中 我不断轮询以检查是否已收到交
  • 如何修复ConnectionRefusedError: [WinError 10061]目标机器主动拒绝呢? (Django 电子邮件)

    我正在使用 Django 发送电子邮件 我显然遇到了一个常见的网络错误 但我读过的任何答案都没有解决 我相信插座有问题 当我发送电子邮件时 出现以下错误 Traceback most recent call last File
  • Android ViewFlipper 动画

    我陷入了一个简单的问题 这让我发疯 基本上我有 2 个 ImageView 我试图让第一个显示一秒钟 然后淡出以显示第二个 我一直在研究使用 ViewFlipper 下面的示例代码 但动画不存在 ViewFlipper mFlipper n
  • 在 C++ 中包含 C 代码

    我试图将 C 代码包含到一个简单的 C 程序中 但遇到了一个意想不到的问题 当我尝试编译程序时 g 给出了以下错误 tmp cccYLHsB o In function main test1 cpp text 0x11 undefined
  • 如何将标记库作为域类中的函数进行调用

    我需要调用静态资源插件 http www grails org Static Resources Plugin 来自我的域类 这在控制器中完美运行 def tstLink resourceLinkTo dir docs identifier