문서의 이전 판입니다!
<servlet> <servlet-name>Groovy</servlet-name> <servlet-class>groovy.servlet.GroovyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Groovy</servlet-name> <url-pattern>*.groovy</url-pattern> </servlet-mapping>
*.groovy
파일 경로 : webapps/*
혹은 webapps/WEB-INF/groovy/*
다중 디렉토리 구조 가능. 호출은 해당 위치 기준으로 웹브라우저에서 /directory/filename.groovy
형태로 한다.webapps/WEB-INF/classes
에 패키지 구조 그대로 넣으면 된다.아래 코드로 Groovlet에 전달되는 기본 객체 목록을 뽑을 수 있다.
html.html { head { title '그루블릿 데모' } body { h1 'Binding에 있는 변수들' table(summary: 'binding') { tbody { binding.variables.each { key, value -> tr { td key.toString() td(value ? value.toString() : 'null') } } } } } }
세션 사용시 주의해야 한다. session 내장 객체가 null 일수 있기 때문이다.
if (!session) { session = request.getSession(true); } if (!session.counter) { session.counter = 1 }
<servlet> <servlet-name>template</servlet-name> <servlet-class>groovy.servlet.TemplateServlet</servlet-class> <init-param> <param-name>groovy.source.encoding</param-name> <param-value>UTF-8</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>template</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping>
기본적으로 *.html
파일을 호출하면 자동으로 해당 파일을 Groovy Template으로 읽고 해석해서 뿌려준다.
Groovlet과 연동할 경우에는 Groovlet의 request에 attribute로 값을 담아서 xx.html로 포워딩을 해주면 된다.