Hi Matt, I did not rename the war files, though I probably should have. The file struts.jar contains all of my changes. I'll make a note to rename it for the next release.
As for the source, it'll be handy to download if you need to do any debugging. Let me know how it works for you and feel free to email me if you have any questions. Jeff Matt Raible wrote: > Jeff - thanks for posting this - I've been eagerly waiting for this. However, > when I try to download the binary versions, it appears that all the wars are > original struts-*.war files. I don't see any new files, such as > struts-stxx.war?? > > Should I download the source distribution? > > Thanks, > > Matt > > > --- Jeff Pennal <[EMAIL PROTECTED]> wrote: > >>Hi Matt, >> >>I had a similar problem in that I wanted a framework that would allow me >>to write Struts Actions that pump out XML and convert them to XSL. >> >>I looked for a while to find something that did what I wanted. Cocoon2 >>was close but not quite what I was looking for. >> >>In the end I rewrote Struts to support xml and xsl transformations, >>called struts-stxx. You can download it here, >>http://www.openroad.ca/opencode/index.html >> >>Let me know if you find it useful. >> >>This is how it works: >> - In the struts-config.xml file, you add an new tag, nested >> under the <forward> tag called <transform> will contain >> the xsl file to transform the Action classes XML against. >> (You can specify zero-many <transform> tags). The <transform> >> tags can be specific to a particular user-agent if you'd like, >> or a "default" one. >> >> - In your Action class you would run your business logic >> as usual. Then once that is complete, you would create >> an XML document of the output (using JDOM) and assign >> it to the Actions new class variable "Document" >> >> - The ActionServlet will take the Actions XML, check the >> browsers user-agent and determine what XSL file to >> transform against. The resulting HTML is sent back to >> the broswer. >> >>Currently, struts-stxx does not support sending the xml back to the >>browser to do client side xsl transformation. That's one of my planned >>features that I have not got around to implementing yet. >> >> >>List of changes to the struts code: >>--------------------------------------------- >>struts-config.xml gets: >> <!-- >> the transform tag defines the browser user agent to match >> against to run a particular xsl file >> --> >> <action path="/menu" >> type="com.oroad.mail.actions.MenuAction" >> scope="request"> >> <forward name="success"> >> <transform name="default" path="/menu_default.xsl"/> >> <transform name="Mozilla" path="/menu_netscape.xsl"/> >> <transform name="MSIE" path="/menu_ie.xsl"/> >> </forward> >> </action> >>--------------------------------------------- >>org.apache.struts.action.Action gets: >>A document (JDOM) class variable to store the XML created in an action >>class. >>--------------------------------------------- >>org.apache.struts.action.ActionTransform and >>org.apache.struts.action.ActionTransforms >>(basically modified org.apache.struts.action.ActionForward(s) classes) >>--------------------------------------------- >>org.apache.struts.action.ActionServlet gets: >>processActionTransform which basically handles getting the correct xsl >>file for the user agent being passed in, does the transform on the >>action.document variable and dumps the resulting html(or whatever) to >>the client. >> >>Hope this helps, >>Jeff >> >> >>Matt Raible wrote: >> >>>Thanks to everyone who has contributed to this thread. I've been >>> >>advocating >> >>>client-side XSL to myself for a few months now, but discovered a fairly >>> >>major >> >>>roadblock this morning - client XSLT does not work on the latest version of >>> >>IE >> >>>on the Mac (5.1). I've tested this and found supporting information at >>>http://www.hut.fi/u/hsivonen/os-x-browsers.html. Therefore, I will be >>> >>doing >> >>>server-side styling as many of you suggest. >>> >>>My initial go around will involve trying to use the "Standard" Tag library >>> >>to >> >>>wrap my XML that I emit from JSPs. I figure it's better to use my JSPs w/ >>> >>XML >> >>>for the view so I can get labels from ApplicationResources, and use >>> >>html:form >> >>>to do the retrieval of values from my beans. >>> >>>One concern I have with this type of transformation is that it's easy to >>> >>pick >> >>>the stylesheet with clien-side styling. For instance, with client-side >>>styling, you can do: >>> >>><?xml-stylesheet href="default.xsl" type="text/xsl"?> >>><?xml-stylesheet href="wap.xsl" type="text/xsl" media="wap"?> >>> >>>And I don't think this is possible with the current JSTL. Maybe so, I'll >>> >>have >> >>>to check. >>> >>>Any further comments are appreciated. >>> >>>Thanks, >>> >>>Matt >>> >>> >>> >>-- >>Jeff Pennal p:604-694-0554(x107) >>Software Developer f:604-694-0558 >>Openroad Communications e:[EMAIL PROTECTED] >>Vancouver, BC >> >> >>-- >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> >> > > > __________________________________________________ > Do You Yahoo!? > Great stuff seeking new owners in Yahoo! Auctions! > http://auctions.yahoo.com > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- Jeff Pennal p:604-694-0554(x107) Software Developer f:604-694-0558 Openroad Communications e:[EMAIL PROTECTED] Vancouver, BC -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>