在最近的开发过程中,遇到了在service中访问session、request、params等对象中的一些内容,解决方法如下
import org.codehaus.groovy.grails.web.util.WebUtils
import org.springframework.web.context.request.RequestContextHolder
class WebUtilTools {
def static getRequest(){
def webUtils = WebUtils.retrieveGrailsWebRequest()
webUtils.getCurrentRequest()
}
def static getResponse(){
def webUtils = WebUtils.retrieveGrailsWebRequest()
webUtils.getCurrentResponse()
}
def static getServletContext(){
def webUtils = WebUtils.retrieveGrailsWebRequest()
webUtils.getServletContext()
}
def static getSession(){
RequestContextHolder.currentRequestAttributes().getSession()
}
def static getParams(){
RequestContextHolder.currentRequestAttributes().params
}
}