【发布时间】:2017-04-14 08:02:42
【问题描述】:
我目前正在努力使用 Freemarker 语言的 Liferay ADT。我想做的很简单。我只想将网络内容结构中的布尔字段从 true 更改为 false,反之亦然。
我通过使用这段代码实现了这一点:
<#function expire>
<#assign isActiveNode = docXml.selectSingleNode("//dynamic-element[@name='isActive']/dynamic-content") />
<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
<#assign expireArticle = isActiveNode.setText("false") />
<#assign expireArticle = article.setContent(docXml.asXML()) />
<#assign expireArticle = journalArticleLocalService.updateJournalArticle(article) />
</#function>
我知道代码有效,因为我在没有使用函数的情况下尝试了它。但我希望通过单击按钮触发整个活动。所以我想做的是从表单或按钮调用该函数。我似乎无法做到这一点:
<form action="${expire}" method="post">
<input type="submit" value="Expire" class="btn btn-success"/>
</form>
从按钮 onclick 事件中调用它也无济于事。
上面写着:
这里期望的是字符串、日期或数字,而 Expression expire 是 一个freemarker.core.Macro
那么如何从 html 标签中调用“过期”函数呢?
任何想法将不胜感激。
【问题讨论】:
标签: liferay liferay-6 freemarker