Session 将会话值从控制器传递到src/groovy类
我在会话中的控制器类中设置了一个变量,如下所示:Session 将会话值从控制器传递到src/groovy类,session,grails,groovy,controller,Session,Grails,Groovy,Controller,我在会话中的控制器类中设置了一个变量,如下所示: session.webURL = webURL println "#####" + session.webURL` 现在,我想在src/groovy类中使用webURL的这个值。因此,我在src/groovy BasicCrawler类中写道: println session.webURL 它在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(Script
session.webURL = webURL
println "#####" + session.webURL`
现在,我想在src/groovy类中使用webURL的这个值。因此,我在src/groovy BasicCrawler类中写道:
println session.webURL
它在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)上显示了一条错误消息:“没有这样的属性:类的会话:cmsprofiler.BasicCrawler”
请告诉我我做错了什么。非常感谢 您不能在任何任意类中访问会话。如果愿意,可以将该值作为参数传递给BasicCrawler中的方法
// grails-app/controllers/demo/DemoController.groovy
package demo
class DemoController {
def someAction() {
def crawler = new BasicCrawler()
crawler.someMethod(session.webURL)
}
}
// src/groovy/demo/BasicCrawler.groovy
package demo
class BasicCrawler {
def someMethod(String url) {
// ...
}
}
我正在使用crawler4j,我需要在visit函数中使用webURL的值。我无法更改方法定义,因为它需要重写crawler4j的方法,并且我也无法在函数中定义函数。还有其他方法吗?你能推荐其他方法吗?将其作为值传递给构造函数,然后调用该方法