Вопрос

Как добавить 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>
"""

Это было полезно?

Решение

<Ол>
  • grails install-templates
  • Измените src / templates / web / web.xml , чтобы включить ваш groovlet
  • война Грааля
  • <Литий> развернуть

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

    Другие советы

    Насколько я понимаю, 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>
    

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top