我目前正在使用freemarker語言掙扎於Liferay ADT。我想做的事很簡單。我只想將Web內容結構中的布爾字段從true更改爲false,反之亦然。Liferay ADT - Freemarker從本地表單調用函數
我已經實現了利用此代碼:
<#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事件不會幫助要麼。
它說:
期待一個字符串,日期或數字在這裏,表達到期反而 一個freemarker.core.Macro
讓我怎麼稱之爲「過期」功能,從一個html標籤?
任何想法將不勝感激。