14.10. Integrating Struts and XSLT

Problem

You want to use XSL transformations for HTML page generation instead of JSP pages in your Struts application.

Solution

Use the STXX framework with Struts.

Discussion

The Struts for Transforming XML with XSL (STXX) framework was developed by Don Brown. (The STXX project site can be found at http://stxx.sourceforge.net .) STXX fits into Struts in a manner similar to Velocity. Instead of forwarding requests to JSP pages, your action forwards to a special URL that is processed by the StxxRequestProcessor. Based on request data, this custom request processor reads a configuration file to determine the corresponding XSLT stylesheet. The request processor then uses an XSLT transformation engine to transform the received XML data, using the XSLT stylesheet, into XHTML.

Tip

XHTML is HTML that is well-formed, valid XML. XHTML is specified by the World Wide Web Consortium (W3C); details can be found at http://www.w3.org/MarkUp/.

To get started, download STXX from the project web site (http://stxx.sourceforge.net). This recipe was built using the full download of STXX Version 1.3. Extract the download to your system.

Copy the following JAR files to your application's WEB-INF/lib directory:

  • dist/stxx-1.3.jar

  • libs/core/jdom.jar

  • libs/xform/commons-jxpath-1.1.jar

  • libs/xform/xmlform.jar

The configuration of STXX is specified in the stxx.properties file. For this recipe, you can use this file without modification. From the STXX directory, copy source/web/WEB-INF/classes/stxx.properties ...

Get Jakarta Struts Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.