サーバー側で freemarker ftl ファイルを処理し、HTML をクライアントに返す必要があります。template.process() を使用して、struts タグを含む freemaker テンプレートを処理できるかどうかを知りたいです。
アクション クラス コード:
// Configuration created from struts2 freemarkermanager
FreemarkerManager freeMarkerManager = new FreemarkerManager();
Configuration config = freeMarkerManager.getConfiguration(context);
//Configuration without any specific settings.
Configuration config = new Configuration();
//Tried both nothing works.
Template template = config.getTemplate("TEMPLATE PATH");
Map<String, Object> inputMap = new HashMap<String, Object>();
inputMap.put("document", document);
StringWriter output = new StringWriter();
template.process(inputMap, output);
フリーマーカー テンプレート:
<#assign s=JspTaglibs["/struts-tags"]>
<table>
<tr>
<th><@s.text name="Document Name"/></th>
<th><@s.text name="Description"/></th>
</tr>
<@s.iterator value="inspiration" status="status">
<tr>
<td class="nowrap"><@s.property value="properties.DOCUMENT_NAME"/></td>
<td class="nowrap"><@s.property value="properties.DESCRIPTION"/></td>
</tr>
</@s.iterator>
</table>
また、web-inf フォルダーの下にstruts-tags.tldを追加しました。
例外
freemarker.core.InvalidReferenceException: 式 JspTaglibs が 1 行目で未定義です。
<#assign s=JspTaglibs["/struts-tags"]>を削除すると
freemarker.core.InvalidReferenceException: 式 s は 7 行目で定義されていません