Why not put the display table in its own jsp. Then you make an ajax call to that jsp and dump the html into your div.
Ben -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pedro Costa Sent: Tuesday, May 23, 2006 3:19 PM To: [email protected] Subject: [displaytag-user] ajax and displaytag I use the <display:table> to show data. This tag is in a jsp file. This is a snippet of my code: --------------------------- START OF FILE ------------------------- <% PortletRequest portletRequest = (PortletRequest) request.getAttribute("javax.portlet.request"); PortletSession renderPSession = portletRequest.getPortletSession(); ValueListHandler queryData = (ValueListHandler) renderPSession.getAttribute(GeneralPortalConstants.ATTRIBUTE__QUERY_DATA ); %> <script type="text/javascript"> <!-- setInterval("reloadList()", 5000); function reloadList(){ alert('RELOADING '); asynchGet('/reloadeventslistservlet'); showEventList(); } function showEventList(){ var div = document.getElementById("eventlistval"); div.innerHTML = ""; div.innerHTML = portletReq.responseText; } //--> </script> .... <c:set var="listaVal" value="<%= queryData.getList()%>"></c:set> <form name="listForm" method="post" action="${addRowURL}"> <input type="hidden" name="<%= GeneralPortalConstants.PARAMETER__CORE_EVENTLIST_EVENT_ID %>" value=""> <div id="eventlistval"> <display:table name="${listaVal}" id="item" pagesize="6" sort="list" style="width:100%; text-align:center" cellpadding="0" cellspacing="0" class="bem-theme.css"> <display:column sortable="true" property="eventId" title="${n:i18n('label.event.number')}" headerClass="sortable" /> <display:column sortable="true" property="startDateTime" title="${n:i18n('label.event.start_date')}" headerClass="sortable" /> <display:column sortable="true" property="coreEventType" title="${n:i18n('label.event.type')}" headerClass="sortable" /> <display:column sortable="true" property="coreEventSubType" title="${n:i18n('label.event.subtype')}" headerClass="sortable" /> <display:column sortable="true" property="coreEventState" title="${n:i18n('label.event.state')}" headerClass="sortable" /> <display:setProperty name="paging.banner.one_item_found" value=""></display:setProperty> <display:setProperty name="paging.banner.some_items_found" value=""></display:setProperty> <display:setProperty name="paging.banner.all_items_found" value=""></display:setProperty> </display:table> </div> </form> --------------------------- END OF FILE ------------------------- Now, I'm using Ajax to refresh my table asynchronously. The above jsp calls ReloadEventsListServlet class. In this class, I refresh the queryData variable, that contains a list of all the values. Now, I want to rebuild the table again. How can I do it? Here is my servlet: --------------------------- START OF FILE ------------------------- public class ReloadEventsListServlet extends HttpServlet { private final Logger log = Logger.getLogger(getClass().getName()); private List eventSubTypesVO = null; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); String eventTypeStr = ""; //(String) request.getAttribute(GeneralPortalConstants.PARAMETER__CORE_EVENT_TYPE_L IST) ; try { ValueListHandler valueListHandler = getManagerBem().doFilterCriteria(eventTypeStr); request.setAttribute(GeneralPortalConstants.ATTRIBUTE__QUERY_DATA, valueListHandler); } catch (BemException e) { log.error(GeneralPortalConstants.getExceptionMessage("BEM-ERROR", getClass().getName(), Thread.currentThread().getStackTrace()[2].getMethodName(), "getTaskListPage()"), e); e.printStackTrace(); } PrintWriter out = response.getWriter(); out.println("<display:table name='${listaVal}' id='item' pagesize='6' sort='list' style='width:100%; text-align:center' cellpadding='0' cellspacing='0' class='bem-theme.css'>"); out.println("<display:column sortable='true' property='eventId' title='${n:i18n('label.event.number')}' headerClass='sortable' />"); out.println("<display:column sortable='true' property='startDateTime' title='${n:i18n('label.event.start_date')}' headerClass='sortable' />"); out.println("<display:column sortable='true' property='coreEventType' title='${n:i18n('label.event.type')}' headerClass='sortable' />"); out.println("<display:column sortable='true' property='coreEventSubType' title='${n:i18n('label.event.subtype')}' headerClass='sortable' />"); out.println("<display:column sortable='true' property='coreEventState' title='${n:i18n('label.event.state')}' headerClass='sortable' />"); out.println("<display:setProperty name='paging.banner.one_item_found' value=''></display:setProperty>"); out.println("<display:setProperty name='paging.banner.some_items_found' value=''></display:setProperty>"); out.println("<display:setProperty name='paging.banner.all_items_found' value=''></display:setProperty>"); out.println("</display:table>"); } } --------------------------- END OF FILE ------------------------- The PrintWriter out doesn't work. Thanks, Pedro ----------------- PSC _______________________________________________ displaytag-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/displaytag-user ************************************************************** This message, including any attachments, contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, please contact sender immediately by reply e-mail and destroy all copies. You are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. TIAA-CREF ************************************************************** _______________________________________________ displaytag-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/displaytag-user

