| -----Original Message----- | From: Kris Schneider [mailto:[EMAIL PROTECTED]] | Sent: Thursday, January 16, 2003 3:58 PM | To: Struts Users Mailing List | Subject: RE: Struts app design for multiple client types | | Any take on having the filter perform the transform vs. JSTL (see original | example)? Seems like you ought to be able to work up a caching approach | with | JSTL as well. | | How 'bout the fact that by creating XML you give up some of the Struts | tags?
The only tags I use are the form tags. Even if you are using the form tags in generating XML data for transformation, you can take XSL from an XHTML formatted form tag and do an <xsl:copy> to manipulate or duplicate the xml output. | | Quoting Jacob Hookom <[EMAIL PROTECTED]>: | | > If you are dealing with two platforms, I would say use filters. Request | > processes would go like such: | > | > www.mysite.com/public/viewAll.html | > -->Filter catches request, wraps the response and forwards to: | > www.mysite.com/viewAll.do?format=html&forward=xml | > -->Struts generates beans and forwards to JSP for XML generation | > www.mysite.com/WEB-INF/transform.jsp?format=html | > -->Page outputs XML data, but remember the filter gets the response back | > so it then looks at the format again or another request attribute to get | > the style sheet to do the transformation and setting of the headers. | > | > So your Struts actions know nothing of what formatting to use or what | > XML is, they just get the business objects you need based on the | > request. Then your action can possibly check for the forward tag to | > actually forward to a JSP that will take the output and create XML. | > Then it is up to your filter to catch the returning response and do an | > XSLT transformation on it and set the appropriate headers. This output | > can be cached for faster access next time. | > | > Jacob Hookom | > | > | -----Original Message----- | > | From: Kris Schneider [mailto:[EMAIL PROTECTED]] | > | Sent: Thursday, January 16, 2003 3:13 PM | > | To: Struts Users Mailing List | > | Subject: Struts app design for multiple client types | > | | > | I'm in the process of designing a single web app to support two | > different | > | client | > | types: HTML and VoiceXML. Yes, yes, I know, XSLT is just the ticket. | > That | > | was my | > | initial take at least, but I'd like to bounce some things off the | > Struts | > | hive | > | before committing to it. To add some context, I'll be deploying on a | > full | > | J2EE | > | 1.3 platform, so things like servlet filters and JSTL get to play. I'm | > | also | > | aware of existing XML/XSLT solutions like Cocoon, stxx, and StrutsCX | > and | > | have | > | done some preliminary investigation of each. The application itself is | > | generally | > | form/data driven. The major issues I'm currently spinning on are the | > | following: | > | | > | What do the existing solutions offer that I couldn't do with JSTL and | > | relatively | > | simple filters? For instance, my JSPs might just become: | > | | > | <x:transform xslt="${dynamicallyAssignedBasedOnUserAgent}"> | > | <!-- body specifies XML document and transform params --> | > | </x:transform> | > | | > | How difficult would it be to duplicate the functionality of the Struts | > | html and | > | nested tags? Those tags do a lot of work on a page author's behalf | > with | > | respect | > | to handling form rendering, indexed form bean properties, transaction | > | tokens, | > | URL encoding, etc. If the app is just dumping XML, then it seems like | > the | > | XSLT | > | styleheets could get pretty hairy. I suppose the Struts tags could | > still | > | be used | > | to output XHTML fragments which might make the transforms less | > painful. | > | | > | If you've got some specific insight into those issues, or would just | > like | > | to | > | share your approach to using Struts for apps that support multiple | > client | > | types, | > | I'd love to hear about it. Thanks. | > | | > | -- | > | Kris Schneider <mailto:[EMAIL PROTECTED]> | > | D.O.Tech <http://www.dotech.com/> | > | | > | -- | > | To unsubscribe, e-mail: <mailto:struts-user- | > | [EMAIL PROTECTED]> | > | For additional commands, e-mail: <mailto:struts-user- | > | [EMAIL PROTECTED]> | > | > | > -- | > To unsubscribe, e-mail: | > <mailto:[EMAIL PROTECTED]> | > For additional commands, e-mail: | > <mailto:[EMAIL PROTECTED]> | > | | | -- | Kris Schneider <mailto:[EMAIL PROTECTED]> | D.O.Tech <http://www.dotech.com/> | | -- | To unsubscribe, e-mail: <mailto:struts-user- | [EMAIL PROTECTED]> | For additional commands, e-mail: <mailto:struts-user- | [EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

