3

私はGrailsの初心者です。次のように、サイト内のすべての製品の画像サムネイルを表示しようとしています。

<a href="#"><img src="${resource(dir:"images", file: "Nikon.jpg") }"/></a>/* 1 */

ここでの問題は、画像リンクをデータベースに保存し、次の方法でリンクを取得することです。

${fieldValue(bean: productInstance, field: "image")}  /* 2 */

しかし、 /* 2 / コードを / 1 */ の "Nikon.jpg" の場所に置き換えることはできません。構文エラーが発生します。

いくつかの調査を行った後、ほとんどのチュートリアルでは、データベースに直接保存されている画像を表示する方法が示されていることがわかりました (たとえば、grails GSP で画像を表示するには? )。そのアプローチが優れているかどうかはわかりませんが、データベースから画像リンクを取得したいと考えています。

また、grails タグ ライブラリを検索してサポート タグを見つけようとしましたが、成功しませんでした。誰でも私にヒントを与えることができますか?

4

4 に答える 4

3

構文エラーを回避するための適切な構文は次のとおりです。

<img src="${resource(dir:'images', file:fieldValue(bean:productInstance, field:'image'))}" />

しかし、独自の tagLib を作成することをお勧めします。作成するのは非常に簡単で、このコードを頻繁に使用する場合は GSP の見栄えが良くなるためです。次のような名前のタグを簡単に作成できます。 <product:image product='productInstance' />さらに使いやすくするために、tagLib にリンクを出力させることもできます。

tagLibs の記述の単純さは、私の意見では、grails の最高の機能の 1 つです。

于 2010-11-22T08:31:45.133 に答える
0

ちょっと待ってください...私があなたの質問を文字通り読んだ場合、あなたは次のようなことを試みています:

<a href="#"><img src="${resource(dir:"images", 
        file: "${fieldValue(bean: productInstance, field: "image")} ") }"/></a>

まあ、それは複雑で間違っています。これは機能するはずです:

<a href="#"><img src="${fieldValue(bean: productInstance, field: "image")}"/></a>
于 2010-11-22T08:16:10.370 に答える