マクロでWebApplicationContext
からspring beanを取得する必要があります。 私の試みは、次の操作を実行することです:freemarkerマクロのコンテキストからspring beanを取得するには?
<#macro categoryName category>
<#assign context=springMacroRequestContext.webApplicationContext>
<#assign lb=context.getBean("localizationBean")/>
<#assign pp=context.getBean("phraseProvider")/>
<#assign categoryName=pp.getPhrase(lb.getCategoryMnemo(category))/>
${categoryName}
</#macro>
しかし、これは失敗しています。まず最初に、もし私が何とかキャストしなければならないObjectを返すような文字列のbean名をgetBean
に与えると、完全修飾クラス名を提供しようとしましたが、freemarkerはそれを好まなかったのです。だからそれを行う方法?
FreeMarkerは動的に型指定された言語なので、キャストする必要はありません(存在しません)。なぜあなたはそれをキャストする必要があると思いますか? – ddekany