Как передавать значения в функции JavaScript в теге отображения в Struts

#jsp #struts2 #displaytag

#jsp #struts2 #displaytag

Вопрос:

 <display:table export="false"  id="data" 
                name="helpdeskTickets"  
                requestURI="/dofetchassignedtickets.action" pagesize="5" >
                <div id="tabheadM" class="tableHeader"></div>

        <display:column property="id" title="Ticket ID" sortable="true"   />           
        <display:column property="subject" title="Subject" sortable="true"   />
        <display:column property="module.name" title="Module" sortable="true"  />
        <display:column property="subModule.name" title="SubModule" sortable="true"   />
        <display:column property="createDate" title="Created At" sortable="true"  />
        <display:column property="priority" title="Priority" sortable="true"   />
        <display:column property="ticketstatus" title="Status" sortable="true"  />
        <display:column title="Action" href="javascript:viewTicketDetail('${data.id}');">
        <img  src="<%=request.getContextPath()%>/images/ViewDetails.png" />
        </display:column>
  

Извлекается только первое значение, и одно и то же значение извлекается для нескольких строк. Я хотел бы передать разные значения.

 function viewTicketDetail(id)
{
 // 
}
  

Пожалуйста, помогите..

Ниже приведен код после изменений. Но все равно я получаю одинаковое значение для всех строк:(

 <display:table export="false" id="data" uid="row" name="helpdeskTickets"
 requestURI="/dofetchassignedtickets.action" pagesize="5" > 
  <display:column property="ticketstatus" title="Status" sortable="true" />
  <display:column property="id" title="Action" href="javascript:viewTicketDetail('${row.id}');">
  

Ответ №1:

Вы должны добавить uid атрибут в таблицу.

 <display:table export="false"  id="data" uid="row"
            name="helpdeskTickets"  
            requestURI="/dofetchassignedtickets.action" pagesize="5" >
  

Затем используйте OGNL

 viewTicketDetail('<s:property value="%{#attr.row.yourAttribute}"/>');
  

или с помощью EL

 viewTicketDetail('${row.yourAttribute}');
  

использование столбца

 <display:column title="Action">
    <a href="javascript:viewTicketDetail('<s:property value="%{#attr.row.id}"/>');"><img src="<s:url value='/images/ViewDetails.png'/>" /></a>
</display:column>
  

Комментарии:

1. @user1125829 Не помещайте код в комментарии, используйте ссылку редактирования, если хотите изменить свой вопрос.