Holen Sie sich Zeilen-Id, die von einem anzeigen-tag-Tabelle auf eine jsp in einer struts action-Klasse 2

Bin ich mit dem display-tag für die Anzeige von Daten in eine Tabelle auf einer JSP. Nun möchte ich zwei links für jede Zeile, die man zum Bearbeiten & eine für das löschen der Zeile.

Gibt es einige Beiträge auf stackoverflow über die gleichen([Frage]: Wie verwenden Sie mehrere Schaltflächen (jede Zeile) für die JSP-Seite mit Struts2 , [Frage]: Bekommen Wert aus einer Zeile in einer JSP-Seite per display-tag , [Frage]: Abrufen von Wert aus Zeile in Struts2 Tabelle, Während mit Displaytag), aber ich konnte nicht finden, eine Lösung, die funktioniert für mich.

Google und gab mir ( http://demo.displaytag.org/displaytag-examples-1.2/example-decorator-link.jsp ), sondern man verwendet die URL-Umschreibung, die ich nicht verwenden möchte und darüber hinaus demonstriert die Verwendung mit struts(ich bin mit struts 2).

Meine jsp-Struktur und was ich bin versucht derzeit ist :

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

Hier das einzige problem, das ich konfrontiert ist, dass die hidden Feld in der Anzeige tag-Tabelle ist nicht immer aufgefüllt, die "rowId" - Wert, der ein Teil von "dayReportsList".

Die Idee hier ist, dass, wenn ein Benutzer klickt auf Bearbeiten Sie die Daten für die Zeile aufgefüllt ruft das Formular für die Bearbeitung. Und wenn der Benutzer klickt auf löschen, die Zeile wird aus der Datenbank gelöscht und die Anzeige der Tabelle aktualisiert wird JSP.

Bitte beraten.

Dank!!

ich bin nicht sicher, wie display-tag funktioniert, aber wenn die Liste iteriert als element auf der Oberseite des Wert-stack
Okz, noch vielen Dank für Ihre Aufmerksamkeit.
Hallo, auch ich vor dem gleichen problem, Kannst du bitte mir sagen, wie ich über kommen. hier mein link, ich danke Ihnen sehr herzlich im Voraus stackoverflow.com/questions/20812145/...
Die Antwort unten sollte hilfreich sein.

InformationsquelleAutor kanishk | 2011-12-14

Schreibe einen Kommentar