找不到带有2个连续大写字母的Grails控制器

时间:2016-08-08 17:09:05

标签: grails

我创建了一个名为EBookController的控制器。当我启动Grails Web应用程序时,应用程序在eBook \ index页面上返回404。

当我请求电子书\索引时,我将控制器名称更改为EbookController,应用程序正常工作。

Grails可以在控制器名称中处理2个或更多连续的大写字母吗?

2 个答案:

答案 0 :(得分:2)

http://download.oracle.com/otn-pub/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/beans.101.pdf?AuthParam=1470678357_57f26d616e55176cadc14024648f450c规范的第8.8节包括以下内容:

  

但是为了支持偶尔使用所有大写名称,我们   检查名称的前两个字符是否都是大写和   如果是这样的话,请不要管它。

这意味着EBook将映射到EBook而不是eBook

答案 1 :(得分:1)

Grail处理大写控制器名称。

当它从现有Java名称的中间提取属性名称时,通常会将第一个字符转换为小写。

但是为了支持偶尔使用所有大写字母名称,它会检查名称的前两个字符是否都是大写字母,如果是这样,请不要单独使用。

因此,在您的情况下,您可以访问索引操作,如下所示

EBook\index

如果您希望以小写字母的第一个字符访问它,则必须将其重命名为EbookController,如您所尝试的那样。