我在Grails 2.5.3中有一个名为EQuestionController
的控制器和一个名为EQuestionService
的服务。
当我调用控制器时,我需要将其作为/EQuestion
,当我希望将其称为/eQuestion
时,但在这种情况下会出现404错误。
当我在控制器中注入服务时,当我希望将其注入def EQuestion
时,我需要将其作为def eQuestion
执行,但在这种情况下它是null
。
用前两个字母大写命名控制器或服务是不是正确?
答案 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