| Red Hat Docs > Manuals > Red Hat Web Application Framework > |
If you are already familiar with this section, you can skip ahead to the following topics:
This document is under construction.
Note: the notes-jsp application in examples/notes-jsp is a sample application that uses the Notes/JSP integration framework. For more information, please see the section called Appendix B: Notes JSP Walkthrough.
We integrate JSP with Bebop components (XML sources) and XSLT by using a JSP tag library to allow the use of Bebop components in an otherwise standard JSP. The JSP tag libraries accomplish this by performing transformations on the XML document produced by a Bebop page. This JSP tag library also directs the generation of output by rendering the resulting XML document through XSLT, so that the included components displayed in a JSP are styled with the standard template rules that are used on the rest of the site.
Java developers can also construct their Bebop pages in JSP. The tag library for declaring Bebop pages is separate from the one for displaying Bebop components, but they are intended to work together.
There are several motivating factors for integrating JSP with Bebop. First, laying out pages JSP integration will allow web developers who are not Java programmers to use third-party web publishing tools (Dreamweaver, etc.) to alter the layout of pages, add new components to an existing page, edit form field labels or prompts, etc. It would also be possible to make completely new pages with JSP that display components from existing Bebop pages. Second, JSP is a convenience for Java developers creating Bebop pages, because JSP shortens the development cycle for individual pages by eliminating the need for a manual recompile and server restart when a page is changed.
The overall request pipeline for constructing a page with Bebop and displaying it with JSP follows this sequence:
The requested JSP obtains an XML document from a Bebop page object and the current request state.
The tags in the requested JSP construct a new XML document, copying pieces from the Bebop page where needed.
The resulting XML is passed as the XML input to an XSLT transformation step, using global stylesheets.
The final result is sent to the user's browser.