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()
、アイテムには と呼ばれるメソッドがありgetId()
ます。
struts2 がこれらのメソッドを使用して<s:hidden>
タグを埋める方法を理解しています。ただし、次の行に問題があります。
<s:if test="%{version != null}">
getVersion()
まず、これは他の 2 つと同じように機能し、Struts2 はアクション クラスのメソッドを実行すると思いました。ただし、呼び出されるフィールドversion
もメソッドもありませんgetVersion()
。<s:set name="version">
JSP には変数タグもありません。このコードのポイントは何でしょうか? %{}
本当に必要ですか?
crudmode
これは削除する必要があるレガシー コードである可能性がありますが、最初の 2 つとitem.id
後者の違いが何であるかはわかりません%{version}
。