1

リソース ファイル (画像など) が存在するかどうかをテストする必要があり、存在しない場合は別の画像を表示します。私の GSP ビュー コードは次のようになります。

<% if (resExists(dir: "images", file:"img.jpg")) {%>
  <img src="${g.resource(dir:'images',file: 'img.jpg')}">
<% else { %>
  <img src="${g.resource(dir:'images',file: 'noimg.jpg')}">
<%}%>

Grails でファイルの存在をテストするにはどうすればよいですか? メソッドのコードは何ですかboolean resExists()

4

3 に答える 3

2

私は答えを見つけました:

def resExists(resPath)  {
    def resFile = grailsApplication.parentContext.getResource(resPath)
    resFile?.exists()
}

また

def resExists(resPath)  {
    def resFile = request.servletContext.getResource(resPath)
    resPath
}

そして、あなたはそれをresExists('images/img.jpg')

于 2010-01-19T00:02:15.347 に答える
1

上記の答えは、製品戦争としてパッケージ化されたプラグイン内から使用された場合、私にとってはうまくいきませんでした。私は今、以下を使用しています:

GrailsConventionGroovyPageLocator groovyPageLocator

def resExists(resPath) {
    def resource = groovyPageLocator.findTemplateByPath(resPath)
    resource
}
于 2013-02-19T16:43:02.173 に答える