Pregunta

Lo siento por un montón de preguntas Struts2 / JSP, pero tengo una tabla generada con etiqueta de presentación :

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

Ahora quiero ser capaz de eliminar o editar una determinada fila (que ya se disponen de acciones en escrito), pero ¿cómo iba a obtener los datos específicos para cada fila por lo que puedo decir a mi clase Action qué fila de editar o borrar ?

¿Fue útil?

Solución

he mencionado esto en el anterior pregunta que pidió el otro día. Sólo tiene que algo en su fila, posiblemente un campo oculto, que se puede utilizar para identificar de forma única el artículo.

he sugerido el uso de un <s:hidden key="rowID" /> en la fila, lo que quedar sometido a la acción. Todo el tiempo que tenía una propiedad como eso en su objeto, y en la acción de eliminación, que tenía una incubadora para recibir ese valor, se podría utilizar eso para identificar de forma exclusiva la fila.

Otros consejos

Parece que su mesa no tiene campo de identificador único en la clase Object por fila. Puede añadir -id campo en el que la clase bean que se va a mostrar. (CompanyID en clase bean Company). De modo que cada fila de la tabla mostrará único objeto 'compañía' y dependiendo de campo 'CompanyID' puede editar / borrar objeto seleccionado pasando 'CompanyID' a la clase de acción.

Puede no les gusta mostrar la columna 'CompanyID' en su diseño de interfaz de usuario para el usuario final. En ese caso, sólo puede crear hipervínculo de 'editar' y la columna 'eliminar' utilizar 'CompanyID' como parámetro.

Ver displaytag tutorial en este sitio para mas detalle.

El uso de abajo para obtener la fila ID. por ejemplo, botón de radio utilizadas i,

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

Ahora U puede conseguir fácilmente el valor de rowNr usando req.getParameter y en base a este u puede obtener el registro de la lista, que u han suministrado a la tabla de variables de visualización.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top