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

Reply via email to