В настоящее время я борюсь с Liferay ADT, используя язык freemarker. То, что я хочу сделать, просто. Я просто хочу изменить логическое поле в структуре веб-контента от 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 событие не поможет ни.
Он говорит:
Ожидая строка, дата или номер здесь, Expression истекают вместо этого freemarker.core.Macro
Итак, как я называю, что «истекает» функцию от тег html?
Любые мысли были бы весьма благодарны.