Dón*_*nal 22
一个显而易见的选择是简单地将HTML文件重命名foo.html为_foo.gsp然后使用<render template="foo">.然而,这是显而易见的,我相信你已经想到了它.
如果您只想从控制器中呈现HTML文件,则可以使用控制器方法的text参数render
def htmlContent = new File('/bar/foo.html').text
render text: htmlContent, contentType:"text/html", encoding:"UTF-8"
Run Code Online (Sandbox Code Playgroud)
如果你想在.gsp中做同样的事情,你可以写一个标签.类似下面的内容(未经测试)应该有效:
import org.springframework.web.context.request.RequestContextHolder
class HtmlTagLib {
static namespace = 'html'
def render = {attrs ->
def filePath = attrs.file
if (!file) {
throwTagError("'file' attribute must be provided")
}
def htmlContent = new File(filePath).text
out << htmlContent
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用GSP从GSP调用此标记
<html:render file="/bar/foo.html"/>
Run Code Online (Sandbox Code Playgroud)