私はstruts 1.2に取り組んできましたが、strut 2は初めてです。既存のプロジェクトjspファイルの1つに、次のコードがあります。
<script type="text/javascript">
var relationshipData = { // line1
page : '<s:property value="displayPage" />', // line2
records : '<s:property value="customerRelations.size" />', // line3
rows : [ <s:iterator value="customerRelations" status="iterStatus"> // line4
{ id : '<s:property value="relationId" />',
cell : [ '<s:property value="relationDesc" escapeJavaScript="true" />' ] } <s:if test="!#iterStatus.last">,</s:if> //line5
</s:iterator>] // line6
};
</script>
CustomerRelationAction.java
メソッドgetCustomerRelations()
とを持つリクエストが来ていgetRelationId()
ます。
ここに質問があります:-
メソッド内にブレークポイントを配置
getCustomerRelations()
しました。このメソッド内でフローが 4 回来ていることがわかります。行 3 で 2 回、行 4 で別の 2 回。それは次に参照されますか (14 行目で再び参照されているように)?getCustomerRelations()
メソッドは、クラスにもメソッドが含まれているCustomerRelationData
オブジェクトのリストを返します。5 行目で、5 行目で value="relationId を参照しています。どのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で、getRelationId() メソッドが呼び出されますか?リスト オブジェクト CustomerRelationData が値スタックに存在するかどうかわからない?存在する場合、どの行に値スタックに配置されるか?CustomerRelationData
getRelationId()
これでイテレータは 6 行目で完了します。その後、
<s:property value="relationId" />
もう一度コードを参照します。どちらのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で getRelationId() メソッドが呼び出されますか