Did you convert all the struts-*.war files to use your new framework? Initially looking at these war files, it doesn't appear so. Reference implementation of a framework are always nice to look at ;)
Also, would you use your framework to construct an application like the struts-example - where there are html-based forms, validation, and messages from the ApplicationResources.properties file? Thanks, Matt --- Jeff Pennal <[EMAIL PROTECTED]> wrote: > 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]> > __________________________________________________ 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]>