我得到了使用 Struts2 框架的 JSP 页面的以下代码
<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()
和 item 有一个名为 的方法getId()
。
我了解 struts2 将如何使用这些方法来填写<s:hidden>
标签。但是,我遇到了以下行的问题:
<s:if test="%{version != null}">
首先,我认为这与其他两个工作相同,Struts2 将运行getVersion()
动作类的方法。但是,没有调用字段,也version
没有方法getVersion()
。JSP中也没有<s:set name="version">
变量标记。这段代码的意义何在?%{}
真的有必要吗?
这可能是需要删除的遗留代码,但我不确定前两个crudmode
和item.id
和后者之间有什么区别%{version}
。