我正在尝试编写自己的编解码器,它将输入的数据替换为指向它的链接(想想BBCode)。我尝试使用LinkGenerator,但它抛出一个IllegalArgumentException,显示object is not an instance of declaring class
import org.codehaus.groovy.grails.web.mapping.LinkGenerator
public class LinkCodec {
LinkGenerator grailsLinkGenerator
def generateLink()
{
return grailsLinkGenerator.link(controller:'foo', action:'bar')
}
static encode =
{
target ->
def map = [:]
map.put("\\[link\\](.+?)\\[/link\\]", "<a href=''>\$1</a>")
map.put("\n", "<br/>")
for (Map.Entry entry: map.entrySet())
{
target = target.replaceAll(entry.getKey().toString(), entry.getValue().toString())
}
return target
}
}有什么想法吗?到目前为止,谢谢
发布于 2013-08-29 07:28:46
您可能需要找到bean,因为在代码运行之前,它可能不会执行注入。我不确定确切的名称,但它应该是链接:
linkGenerator = grailsApplication.mainContext.getBean('grailsLinkGenerator')https://stackoverflow.com/questions/18489628
复制相似问题