grails プラグインのすべてのコントローラー/サービスを一覧表示するにはどうすればよいですか。または、特定の GrailsApplication クラスの pluin 名を知るにはどうすればよいですか。
質問する
1126 次
2 に答える
11
プラグインからのアーティファクトにはGrailsPlugin
、ソースに関するメタデータを追加するための注釈が付けられます。したがって、これを使用して、コントローラー/サービスなどを見つけることができます。このようなアプリケーションまたはプラグインからのものです:
import org.codehaus.groovy.grails.plugins.metadata.GrailsPlugin
for (type in ['controller', 'service']) {
for (artifactClass in ctx.grailsApplication."${type}Classes") {
def clazz = artifactClass.clazz
def annotation = clazz.getAnnotation(GrailsPlugin)
if (annotation) {
println "$type $clazz.name from plugin '${annotation.name()}'"
}
else {
println "$type $clazz.name from application"
}
}
}
于 2012-08-03T15:31:52.833 に答える
1
新しく作成された Grails アプリケーションでは、grails-app/views/index.gsp に以下が含まれます。
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>
</g:each>
同様の方法でサービスを受けることができます。
于 2012-08-03T08:53:02.517 に答える