Я получил следующий код страницы JSP, которая использует рамку Struts2Struts2 передачи данных по-разном
<s:form id="crud" action="crudmerge" namespace="templates">
<s:hidden name="crudMode" />
<s:hidden name="item.id" />
...
<s:if test="crudMode == 1">
...
</s:if>
<s:else>
<s:if test="%{version != null}">
...
</s:if>
<s:else>
...
</s:else>
</s:else>
</s:form>
в классе действий, что приводит к этой странице JSP, есть следующие способы (в том числе другие): getCrudMode()
, getItem()
, а изделие имеет способ под названием getId()
.
Я понимаю, как struts2 будет использовать эти методы для заполнения тегов <s:hidden>
. У меня возникли проблемы, однако с помощью следующей строки:
<s:if test="%{version != null}">
Во-первых, я думал, что это работает так же, как два других, и Struts2 бы запустить getVersion()
метод класса действия. Однако нет поля, называемого version
, и нет метода getVersion()
. В JSP также нет знака переменной <s:set name="version">
. Что может быть точкой этого кода? Нужны ли %{}
?
Возможно, это устаревший код, который необходимо удалить, но я не уверен, какая разница между двумя первыми crudmode
и item.id
, а последняя %{version}
.