0

Struts2 / JSP に関する質問が多くて申し訳ありませんが、Display tagで生成されたテーブルがあります。

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

特定の行を削除または編集できるようにしたいのですが (すでにアクションが書き出されています)、各行の特定のデータを取得して、どの行を編集または削除するかを Action クラスに伝えるにはどうすればよいでしょうか?

4

3 に答える 3

3

先日お聞きした前の質問でお話しました。アイテムを一意に識別するために使用できる、行内の何か、場合によっては非表示フィールドが必要です。

<s:hidden key="rowID" />アクションとともに送信される行でを使用することを提案しました。オブジェクトにそのようなプロパティがあり、削除アクションでその値を受け取るセッターがあれば、それを使用して行を一意に識別できます。

于 2010-08-15T03:24:42.957 に答える
0

あなたのテーブルには、クラス Object per Row に一意の識別子フィールドがないようです。表示する bean-class に field -id を追加できます。(Company Bean クラスの companyId)。テーブルのすべての行に一意の「会社」オブジェクトが表示され、「companyId」フィールドに応じて、「companyId」を Action クラスに渡すことで、選択したオブジェクトを編集/削除できます。

UI レイアウトで「companyId」列をエンドユーザーに表示したくない場合があります。その場合、「companyId」をパラメーターとして使用して、「編集」列と「削除」列のハイパーリンクを作成するだけです。

詳細については、このサイトのdisplaytag チュートリアルを参照してください。

于 2010-08-14T06:05:59.340 に答える
0

以下を使用して行IDを取得します。たとえば、ラジオボタンを使用しました。

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

これで、rowNr の値を簡単に取得でき、req.getParameterこれに基づいて、タグ テーブルを表示するために提供したリストからレコードを取得できます。

于 2012-01-19T17:58:49.353 に答える