Alcune domande di base per quanto riguarda lo stack di valore in Struts 2?
-
30-10-2019 - |
Domanda
Sono nuovo a Strut 2 anche se ho lavorato su Struts 1.2. In uno dei file JSP del progetto pexisting che ho il codice seguente:
<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>
La richiesta sta arrivando CustomerRelationAction.java
che ha metodo getCustomerRelations()
e getRelationId()
.
Ecco le domande:-
Ho messo il punto di interruzione all'interno del metodo
getCustomerRelations()
. Vedo che il flusso arriverà quattro volte all'interno di questo metodo. Due volte alla riga 3 e altre due volte alla riga 4. Secondo il mio flusso di comprensione dovrebbe arrivare solo 1 volta, cioè alla riga 3. Una volta completato GetCustomerRelations alla riga 3, non dovrebbe mettere il suo valore nello stack di valore in modo che possa fare riferimento a Il prossimo tempo viene riferito (come se fosse nuovamente ribadito alla riga 14)?getCustomerRelations()
Il metodo restituisce l'elenco diCustomerRelationData
oggetti doveCustomerRelationData
la classe contiene anche ilgetRelationId()
Metodo.Now alla riga 5 Facciamo riferimento a value = "RelationId alla riga 5. su quale oggetto (CustomerRelation. Valore Stack o no? Se sì a quale riga verrà inserito in valore di valore?Ora l'iteratore completa alla riga 6. Dopo che, ora mi riferisco il codice
<s:property value="relationId" />
Ancora una volta, su quale oggetto (CustomerRelationAction.java o CustomerRelationData) verrà chiamato il metodo getRelationId ()?
Nessuna soluzione corretta