鉴于这UrlMapping:

"/foo/$foobar" {
    controller = "foo"
    action = "foo"
    constraints {
    }
}

结合这个控制器:

class FooController {
    def foo = {
        def foobar = params.foobar
        println "foobar=" + foobar
    }
}

以及与这些请求:

这似乎是技术发展的看法削减"foobar"参数在第一dot(".").这是故意的?是有一个工作周围如果我想要使用的参数包含点在我的网址映射?

有帮助吗?

解决方案

这是可以解决的。

grails.mime.file.extensions = false

...在配置。常规。

这似乎是技术发展的看法是试图做一些MIME的魔法背后的场景基础上的文件名称后缀。

更新: 一些额外的信息,从的 杯JIRA.

这是违规的代码中UrlMappingsFilter.java:

    if(WebUtils.areFileExtensionsEnabled()) {
        String format = WebUtils.getFormatFromURI(uri);
        if(format!=null) {
            MimeType[] configuredMimes = MimeType.getConfiguredMimeTypes();
            // only remove the file extension if its one of the configured mimes in Config.groovy                                                                                                           
            for (MimeType configuredMime : configuredMimes) {
                if (configuredMime.getExtension().equals(format)) {
                    request.setAttribute(GrailsApplicationAttributes.CONTENT_FORMAT, format);
                    uri = uri.substring(0, (uri.length() - format.length() - 1));
                    break;
                }
            }
        }
    }

WebUtils.areFileExtensionsEnabled()返回的价值"杯.mime。文件。扩展的"的设置配置配置。常规。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top