Question
How do I drop a Groovlet into a Grails app? Say, for example, in web-app/groovlet.groovy
import java.util.Date if (session == null) { session = request.getSession(true); } if (session.counter == null) { session.counter = 1 } println """ <html> <head> <title>Groovy Servlet</title> </head> <body> Hello, ${request.remoteHost}: Counter: ${session.counter}! Date: ${new Date()} <br> """
Solution
grails install-templates
- Edit
src/templates/web/web.xml
to include your groovlet grails war
- deploy
I've not personally done this to incorporate a groovlet, but this is the documented way to modify the deployed Grails web.xml
OTHER TIPS
The way I understand it, groovlets are used when you have a Servlet container with Groovy scripting support,
I think in Grails you would need to move your business logic code to a controller and leave the view part to an HTML or a GSP file.
Something along those lines (meta-code from the top of my head, not tested):
grails-app/controllers/SampleController.groovy
class DateController {
def index = {
if (session == null) {
session = request.getSession(true);
}
if (session.counter == null) {
session.counter = 1
}
}
}
web-app/sample/index.gsp
<html>
<head>
<title>Groovy Servlet</title>
</head>
<body>
Hello, ${request.remoteHost}: Counter: ${session.counter}! Date: ${new Date()}
<br>
Hope that helps!
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow