Я работаю над форматированием HTML с использованием struts2 и javascript и передаю возвращаемое значение функции тегу <s:if>
. Я ожидал бы, что это будет вести себя как любое другое условие;однако тег <s:if>
постоянно ведет себя так, как будто он возвращает false
.
page.jsp
<s:if test="%{myFunction()}">
<p>foo</p>
</s:if>
<s:else>
<p>bar</p>
</s:else>
page.js
function myFunction() {
if(some_condition) { return true; }
else { return false; }
}
bar
Я тестировал функцию javascript независимо друг от друга, и она работает как задумано - и true
, и false
возвращаются в зависимости от условий. Функция правильно включена в код .jsp
(она была определена ранее в теге <script>
).
Интуитивно понятно, что я должен быть в состоянии использовать возвращаемое значение в качестве условия, но я начинаю верить, что я могу ошибаться. Документация по этому поведению довольно скудна, и официальная документация *1026* не может сказать, насколько это возможно или нет.
Это синтаксическая ошибка или я столкнулся с пределом Struts2?