Freemarker / Struts2 / Spring / Hibernateなどはまったく初めてですが、古いプロジェクトに取り組んでいます。いくつかの変更を反映するようにFTLファイルの1つを変更しましたが、奇妙な問題が発生しました。
これは機能します。つまり、正しい値が取得されます。
<@s.property value="#dataResult.gene.genbankId" />
ただし、これは行いません。
<a href="${geneBankLink}${dataResult.gene.genbankId}" target="_blank">
2つの線は、すぐに次々に発生します。
<a href="${geneBankLink}${dataResult.gene.genbankId}" target="_blank">
<@s.property value="#dataResult.gene.genbankId" /> </a>
生成されたエラー(簡単に)は次のとおりです。
式dataResult.geneは未定義です
freemarker.core.InvalidReferenceException:式dataResult.geneは、web / search/search_data_result.ftlの54行51列で未定義です。
私にとって奇妙なことは、dataResultとして何かを検出することです。そうしないと、エラーはdataResult.geneではなくdataResultが未定義になります。
dataResult.gene属性にstruts表記でアクセスできるが、FreeMarker表記ではアクセスできない理由はありますか?
あるいは、この場合にFreeMarker表記を使用しないようにする方法で十分です。