Frage

Wie melde ich mich ein Groovlet in einen Grails-App? Nehmen wir zum Beispiel 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>
"""

War es hilfreich?

Lösung

  1. grails install-templates
  2. Bearbeiten src/templates/web/web.xml enthalten Ihre groovlet
  3. grails war
  4. deploy

Ich habe nicht persönlich getan dies eine groovlet zu integrieren, aber das ist die Art und Weise dokumentiert den Einsatz Grails web.xml

zu ändern

Andere Tipps

So wie ich es verstehe, groovlets verwendet werden, wenn Sie einen Servlet-Container mit Groovy Scripting-Unterstützung haben,

Ich denke, in Grails müßten Sie Ihren Business-Logik-Code zu einer Controller bewegen und die Ansicht Teil verlassen zu einem HTML oder eine GSP-Datei .

etwas in diese Richtung (meta-Code aus der Spitze von meinem Kopf, nicht getestet):

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>

Ich hoffe, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top