servlets - 在Grails 3应用程序中注册Servlet bean

标签 servlets grails spring-boot zk grails-3.0

我对Bean注册在Grails 3中的工作方式知之甚少。

我想要做的是在init/package/Application.groovy内为ZK注册一个Servlet bean。据报告该bean已被注册,但是我无法获得映射URL(*.zul)。我不确定代码有什么问题。这是Application.groovy中的内容:

class Application extends GrailsAutoConfiguration {

    static void main(String[] args) {
        GrailsApp.run(Application, args)
    }

    @Bean
    public ServletRegistrationBean dHtmlLayoutServlet() {
        ServletRegistrationBean reg = new ServletRegistrationBean(new DHtmlLayoutServlet())
        reg.setLoadOnStartup(1)
        reg.setInitParameters(["update-uri":"/zkau"])
        reg.addUrlMappings("*.zul", "*.zhtml")
        reg.setOrder(Ordered.HIGHEST_PRECEDENCE)
        return reg
    }

    @Bean
    public ServletRegistrationBean dHtmlUpdateServlet() {
        ServletRegistrationBean reg = new ServletRegistrationBean(new DHtmlUpdateServlet())
        reg.setLoadOnStartup(2)
        reg.addUrlMappings("/zkau/*")
        reg.setOrder(Ordered.HIGHEST_PRECEDENCE)
        return reg
    }

}

最佳答案

您是指以下站点,不是吗?

http://www.marcelustrojahn.com/2015/12/integrating-zk-framework-on-a-spring-boot-application/

您的配置对我来说很好。

您将*.zul放在哪里?
DHtmlLayoutServlet不会搜索grails-app/views/*.zul而是src/main/webapp/*.zul

我的环境

  • Grails 3.2.3
  • ZK 8:
    // ZK Framework
    compile "org.zkoss.zk:zkplus:8.0.2.2"
    compile "org.zkoss.zk:zkbind:8.0.2.2"
    // ZK Spring
    compile "org.zkoss.zk:zkspring-core:3.1.1"
    
  • 关于servlets - 在Grails 3应用程序中注册Servlet bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31649608/

    相关文章:

    java - 没有这样的方法错误:

    java - 重定向到同一个 jsp 时值丢失(没有 Ajax)

    mysql - Grails 和 MySQL 分区

    java - 使用 RestTemplate 将文件发布到 RESTful 服务

    Grails UrlMapping 重定向以保持 DRY

    grails - 为什么我不能让我的记录器写入 Grails 中的文件附加程序?

    java - PowerMock 不会在 Spring-Boot 应用程序中模拟静态方法来抛出异常

    java - 在 servlet 中创建死锁的方法

    java - 无法访问 servlet 文件,因为 apache 安装在本地计算机上,表单的操作属性中应该给出什么路径?

    java - 从 servlet 访问数据