Two pass JSP page rendering

Posted by dotsid on Stack Overflow See other posts from Stack Overflow or by dotsid
Published on 2010-04-20T12:00:43Z Indexed on 2010/04/20 12:03 UTC
Read the original article Hit count: 207

Filed under:
|
|

Suppose an example. I have following interface:

public interface DataSource<T> {

  Future<T> fetch();
}

This datasource can do asynchronous data fetching. And we have following tag for using datasource in JSP:

<html>
  <d:fetch from="${orderDS}" var="orders">
    <c:foreach in="${orders}" var="order">
      <div class="order">
        <c:out value="${order.title}" />
      </div>
    </c:foreach>
  </d:fetch>
</html>

So, what I want? I want JSP rendering engine to call my custom tag (FetchTag in this example) twice. On first call FetchTag will do DataSource.fetch() call and save Future locally as a object field. On second call FetchTag do Future.get() call and will be blocked until data becomes available.

Is there any way to do such a thing?

© Stack Overflow or respective owner

Related posts about jsp

Related posts about java