하나의 명백한 옵션은 HTML 파일의 이름을 foo.html
에서 _foo.gsp
으로 간단히 변경 한 다음 <render template="foo">
을 사용하는 것입니다. 그러나 이것은 너무 분명해서 나는 당신이 이미 그것의 생각을했다고 확신합니다.
당신은 단순히 당신이 .gsp에서 같은 일을 할 경우에는 render
컨트롤러 메소드
def htmlContent = new File('/bar/foo.html').text
render text: htmlContent, contentType:"text/html", encoding:"UTF-8"
의 text
매개 변수를 사용할 수있는 컨트롤러 내에서 HTML 파일을 렌더링하려면 , 당신은 태그를 쓸 수 있습니다. (테스트되지 않은) 다음과 같은 뭔가 작업을해야합니다 :
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
}
}
당신은 당신이 달성하려고하는 무엇
<html:render file="/bar/foo.html"/>
감사합니다 돈! 이것은 그 것처럼 보입니다 (두 번째 부분 ie). 나는 이것을 시도하고 내 결과를 여기에서 업데이트 할 것이다. – sector7
돈 - 이걸 볼 수 있는지 모르겠 으면 좋겠다. 내가 게시 한 코드를 시도했지만 컴퓨터 루트 디렉토리와 관련된 파일을 지정해야하는 것처럼 보입니다. "C : /grails2.0/..."웹 루트 디렉토리에 상대적으로 작동하게하려면 어떻게해야합니까? 렌더 뷰가 현재 작동하는 것처럼 적절한 뷰 폴더 아래에있는 파일을 찾으십니까? – Ray
@Ray HTML 파일을 web-app 아래에두면'g.resource'를 사용하여 검색 할 수 있습니다. –