Html Pane

Dear All

I would like to propose a new HtmlPane (or HtmlLabel) component for the Vaadin framework.
I have found a good description on the net of such component so I paste it here.

Currently Vaadin does not provide a mechanism to easily glue pre-existing elements to widget instances. It also does not include functionality to embed html, text files, jsp page on the client. In order to achieve the later one can:

1. Manually create a string containing the entire contents of the html/text file. Achieveable, but cumbersome and not very practical if the page is constantly being changed.
2. Make a Http request to the server to fetch the required file (synchronously or asynchronously). When the response completes the Html widget can be created and added to the dom. 

Embedding Html files has several advantages for any team that is a mixture of traditional and GWT development.

* Html pages can be designed separately by a web designer.
* Good integration with templating frameworks.
* Often it is useful to include some java logic within html pages, as is frequently done in jsps.
* Iframe element will be obsolete in the coming HTML5 specification.

A following pure javascript based examples illustrate the above mentioned synchronous and asynchronous retrieval and inclusion of Html content.

http://www.dynamicdrive.com/dynamicindex17/ajaxpaginate/index.htm
This script lets you include content from multiple pages and display them on demand, using Ajax.

http://www.dynamicdrive.com/dynamicindex17/ajaxincludes.htm
This script uses Ajax (DHTML interacting with the server) to let you dynamically include the contents of an external page onto the current document. It’s similar in function to our Iframe SSI script, though uses no frames
This script includes the external page synchronously, which simply means it waits for the external page to be retrieved before loading the rest of the master page.

Best Regards
jga

Hi,

Maybe you can add and collect votes for this feature at
vaadin.uservoice.com
?

You probably knew this, but just to addition to other readers looking for simple solution for HTML display:

There is a
XHTML
(and
RAW
) mode in the Label component that lets you display HTML content. Also you can use the
CustomLayout
component to create HTML based layouts into you application.

Also, the Embedded component allows you to embed content at some URL, so you can embed (almost) anything that can be pointed to by URL.

/Jonatan