【问题标题】:Groovlet in Grails appsGrails 应用程序中的 Groovlet
【发布时间】:2008-10-28 01:25:01
【问题描述】:

如何将 Groovlet 放入 Grails 应用程序?比如说,在 web-app/groovlet.groovy 中

导入 java.util.Date 如果(会话 == null){ 会话 = request.getSession(true); } if (session.counter == null) { session.counter = 1 } 打印""" Groovy Servlet 您好,${request.remoteHost}:计数器:${session.counter}!日期:${新日期()}
"""

【问题讨论】:

    标签: grails groovy


    【解决方案1】:
    1. grails install-templates
    2. 编辑 src/templates/web/web.xml 以包含您的 groovlet
    3. grails war
    4. 部署

    我没有亲自这样做来合并 groovlet,但这是修改已部署 Grails web.xml

    的记录方法

    【讨论】:

    • 不错!我不知道。你认为使用 groovlet 被认为是一种 hack,而不是添加控制器和视图的 MVC 方式,还是你认为它很好?
    • 如果 groovlet 已经是生产应用程序的一部分,或者经过很好的测试,我会如上所述包含它。话虽如此,如果 groovlet 很简单,或者可以很容易地移植到 Grails 控制器(当然需要测试),那么移植可能是值得的,只是为了保持连续性。
    【解决方案2】:

    按照我的理解,当你有一个支持 Groovy 脚本的 Servlet 容器时使用 groovlet,

    我认为在 Grails 中,您需要将业务逻辑代码移至 controller,并将视图部分保留为 HTML 或 GSP file

    类似的东西(我头脑中的元代码,未经测试):

    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>
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2013-03-10
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 2013-02-10
      • 2012-11-30
      相关资源
      最近更新 更多