Domanda

Ci scusiamo per un mucchio di domande Struts2 / JSP, ma io ho una tabella generata con tag di visualizzazione :

<display:table name="table" pagesize="10" id="row" requestURI="">
<display:column title="Action">
    <s:form theme="simple">
        <s:submit action="remove" value="Remove" 
        onclick="return confirm('Are you sure you want to delete this item?');"/>
        <s:submit action="displayEdit" value="Edit"/>
    </s:form>
</display:column>
<display:column property="cpc" title="CPC"/>
<display:column property="companyName" title="Company Name"/>
<display:column property="eventType" title="Event Type"/>
<display:column property="industryType" title="Industry Type"/>
<display:column property="previousEvents" />
<display:column property="creditNotifications" />
<display:column property="interimNotifyEnterprise" />
</display:table>

Ora voglio essere in grado di eliminare o modificare un certo fila (ho già le azioni scritte out), ma come faccio a ottenere i dati specifici per ogni riga in modo da poter dire la mia classe di azione quale riga da modificare o eliminare ?

È stato utile?

Soluzione

ho parlato nel precedente domanda lei ha chiesto l'altro giorno. Hai solo bisogno di qualcosa nella tua linea, forse un campo nascosto, che può essere utilizzato per identificare l'elemento in modo univoco.

Ho suggerito utilizzando un <s:hidden key="rowID" /> nella fila, che andrebbe presentata con l'azione. Finché si ha una proprietà del genere sul vostro oggetto, e nell'azione di rimozione, è avuto un setter per ricevere quel valore, è possibile utilizzare che per identificare in modo univoco la riga.

Altri suggerimenti

Sembra che la tabella non ha campo identificativo univoco in classe Object per fila. È possibile aggiungere campo -id in voi di fagioli di livello internazionale che si sta andando a visualizzare. (CompanyID in classe Bean Company). In modo che ogni riga della tabella visualizzerà unico oggetto 'azienda' e seconda campo 'CompanyID' si può modificare / cancellare oggetto selezionato passando 'CompanyID' alla classe di azione.

È possibile non desidera visualizzare la colonna 'CompanyID' nel vostro layout dell'interfaccia utente a utente finale. In questo caso si può solo creare collegamento ipertestuale di 'modifica' e la colonna 'delete' usando 'CompanyID' come parametro.

See displaytag esercitazione a questo sito più dettaglio.

uso qui sotto per ottenere fila id. ad esempio, i Pulsante radio, della

<display:column  property="radioButton" title="ID">
                  <input type="radio" value='<%=data_rowNum.intValue()-1%>' name='rowNr' onClick="fnEnableControls()"/>
</display:column>

Ora U può facilmente ottenere il valore di rowNr utilizzando req.getParameter e sulla base di questo u può vedere la scheda dalla lista che u hanno fornito alla tabella delle variabili di visualizzazione.

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