Groovlet в приложениях Grails - PullRequest
3 голосов
/ 28 октября 2008

Как мне вставить Groovlet в приложение Grails? Скажем, например, в 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>
"""

Ответы [ 2 ]

6 голосов
/ 28 октября 2008
  1. grails install-templates
  2. Изменить src/templates/web/web.xml, чтобы включить ваш groovlet
  3. grails war
  4. развернуть

Лично я не делал этого для включения Groovlet, но это документированный способ изменения развернутого Grails web.xml

0 голосов
/ 28 октября 2008

Насколько я понимаю, groovlets используются, когда у вас есть контейнер сервлетов с поддержкой сценариев Groovy,

Я думаю, что в Grails вам нужно переместить код бизнес-логики на контроллер и оставить часть просмотра в HTML или GSP файле .

Что-то в этом роде (метакод с макушки головы, не проверено):

Grails-приложение / контроллеры / SampleController.groovy

class DateController {
    def index = {
        if (session == null) {
          session = request.getSession(true);
        }

        if (session.counter == null) {
          session.counter = 1
        }
    }
}

Веб-приложение / образец / index.gsp

<html>
    <head>
    <title>Groovy Servlet</title>
    </head>
    <body>
Hello, ${request.remoteHost}: Counter: ${session.counter}! Date: ${new Date()}
<br>

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...