Obtenir l'Id de ligne à partir d'un affichage de la balise table sur une jsp, dans une classe d'action struts 2

Je suis à l'aide de la balise d'affichage pour afficher des données dans un tableau sur une page JSP. Maintenant, je veux vous donner deux liens pour chaque ligne, un pour l'édition & un pour la suppression de la ligne.

Il y a quelques posts sur stackoverflow sur le même sujet([question]: Comment faire pour utiliser plusieurs boutons (un sur chaque ligne) pour la page JSP à l'aide de Struts2 , [question]: D'obtenir une valeur à partir d'une ligne dans une page JSP à l'aide de la balise d'affichage , [question]: La récupération de la Valeur à partir de la Ligne de Struts2 Table Tout en utilisant Displaytag), mais je ne pouvais pas trouver une solution qui fonctionne pour moi.

Et google m'a donné ( http://demo.displaytag.org/displaytag-examples-1.2/example-decorator-link.jsp ), mais il utilise la réécriture d'URL que je ne veux pas l'utiliser et de plus illustre l'utilisation avec struts(je suis en utilisant struts 2).

Ma jsp de la structure et de ce que je suis en train d'essayer est :

<s:url id="editReport" action="editReport" />
<sd:div href="%{editReport}" listenTopics="editReport" formId="actionForm" showLoadingText="false" preload="false">
<s:url id="updLists" action="updLists" />
<sd:div href="%{updLists}" listenTopics="updLists" formId="enterDayReport" showLoadingText="false" preload="false">
<s:form id="enterDayReport" action="enterDayReport">
<sd:autocompleter  label="Customer " name="customer" list="customerList"  valueNotifyTopics="updLists" autoComplete="false" searchType="substring"/>
<sd:autocompleter  label="Contact "  name="contact"  list="contactList"   valueNotifyTopics="updLists" autoComplete="false" searchType="substring"/>
<s:select          label="Stage "    name="stage"    list="stageList"     headerKey="0" headerValue="Select" />
<s:select          label="Type "     name="type"     list="typeList"      headerKey="0" headerValue="Select" />
<sd:datetimepicker label="Date"      name="date"     formatLength="small" displayFormat="dd - MMM - yyyy"/>
<s:textarea        label="Summary"   name="summary"  cols="40" rows="10"/>
<s:submit          value="Save Report"/>
</s:form>
</sd:div>
</sd:div>
<s:url id="deleteReport" action="deleteReport" />
<sd:div href="%{deleteReport}" listenTopics="deleteReport" formId="actionForm" showLoadingText="false" preload="false">
<disp:table name="dayReportsList" export="true" class="dataTable">
<disp:column property="contactCode" title="Contact"/>
<disp:column property="customerCode" title="Customer"/>
<disp:column property="stage" title="Stage"/>
<disp:column property="type" title="Type"/>
<disp:column property="summary" title="Summary"/>
<disp:column property="reportDate" title="Date" format="{0,date,dd-MMM-yyyy}" />
<disp:column property="rowId" href="%{editReport}" paramId="rowID" paramProperty="rowId" title="Action">
<s:form id="actionForm" name="actionForm">
<s:hidden id="rowId" name="rowId" value="%{rowId}"/>  //This is not getting populated.
<s:a onclick="dojo.event.topic.publish('editReport')">Edit<s:property value="rowId"/></s:a><br>
<s:a onclick="dojo.event.topic.publish('deleteReport')">Delete</s:a>
</s:form>
</disp:column>
</disp:table>
</sd:div>

Ici le seul problème auquel je suis confronté est que le hidden champ dans la balise d'affichage d'un tableau n'est pas rempli avec les "rowId") qui est une partie de "dayReportsList".

L'idée ici est que si un utilisateur clique sur modifier, les données de la ligne est renseignée dans le formulaire d'édition. Et si l'utilisateur clique sur supprimer, la ligne est supprimée de la base de données et le tableau d'affichage est mis à jour sur JSP.

Veuillez en informer.

Merci!!

  • je ne suis pas sûr de savoir comment la balise d'affichage fonctionne, mais si la liste est arriver réitéré que l'élément doit être sur le dessus de la valeur de la pile
  • Okz, encore merci pour votre attention.
  • Salut, je suis moi aussi confrontée au même problème, Pouvez-vous svp me dire comment je peux plus venir cette. voici mon lien en vous remerciant beaucoup par avance stackoverflow.com/questions/20812145/...
  • La réponse ci-dessous doit être utile.
InformationsquelleAutor kanishk | 2011-12-14