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:-

  1. 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)?

  2. getCustomerRelations() Il metodo restituisce l'elenco di CustomerRelationData oggetti dove CustomerRelationData la classe contiene anche il getRelationId() 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?

  3. 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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top