Получить значение из строки на странице JSP, используя тег отображения - PullRequest
0 голосов
/ 14 августа 2010

Извините за кучу вопросов по Struts2 / JSP, но у меня есть таблица, сгенерированная с Показать тег :

<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, какую строку редактировать или удалять?

Ответы [ 3 ]

3 голосов
/ 15 августа 2010

Я упоминал об этом в предыдущем вопросе , который вы задали на днях. Вам просто нужно что-то в вашей строке, возможно, скрытое поле, которое можно использовать для уникальной идентификации элемента.

Я предложил использовать <s:hidden key="rowID" /> в строке, которая будет отправлена ​​вместе с действием. Пока у вас есть такое свойство на вашем объекте, а в действии удаления у вас был установщик для получения этого значения, вы можете использовать его для уникальной идентификации строки.

0 голосов
/ 19 января 2012

используйте ниже, чтобы получить идентификатор строки. Например, я использовал переключатель,

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

теперь вы можете легко получить значение rowNr, используя req.getParameter, и на основании этого вы можете получить запись из списка, который вы предоставили для отображения таблицы тегов.

0 голосов
/ 14 августа 2010

Кажется, что в вашей таблице нет уникального поля идентификатора в классе Object per Row. Вы можете добавить поле -id в свой bean-класс, который вы собираетесь отображать. (companyId в классе бобов компании). Чтобы каждая строка в таблице отображала уникальный объект company, и в зависимости от поля companyId вы можете редактировать / удалять выбранный объект, передавая companyId в класс Action.

Возможно, вам не понравится отображать столбец «companyId» в макете пользовательского интерфейса для конечного пользователя. В этом случае вы можете просто создать гиперссылку из столбцов «edit» и «delete», используя «companyId» в качестве параметра.

См. Руководство по отображению тегов на этом сайте для получения более подробной информации.

...