控制器和服务,前两个字母大写

时间:2016-06-27 07:25:16

标签: grails

我在Grails 2.5.3中有一个名为EQuestionController的控制器和一个名为EQuestionService的服务。

当我调用控制器时,我需要将其作为/EQuestion,当我希望将其称为/eQuestion时,但在这种情况下会出现404错误。

当我在控制器中注入服务时,当我希望将其注入def EQuestion时,我需要将其作为def eQuestion执行,但在这种情况下它是null

用前两个字母大写命名控制器或服务是不是正确?

1 个答案:

答案 0 :(得分:5)

此命名行为在java bean规范(http://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec

中定义
  

因此,当我们从现有Java名称的中间提取属性或事件名称时,我们通常会将第一个字符转换为小写。但是要支持偶尔使用所有   大写名称,我们检查名称的前两个字符是否都是大写,如果是,请不要理会   例如,

“FooBah” becomes “fooBah”  
“Z” becomes “z”
“URL” becomes “URL”

因此,EQuestionService的bean变为EQuestionService