Another direction would be to try implementing your own Result type: <action name="login" class="mypackage.LoginAction"> <result name="success" type="myCustomDeviceDependentResult">index</result> </action>
Then the result would check the device type the user is accessing the application with, and you can try searching first for a: index_brand_model.jsp, and if not found search for: index_brand.jsp, then index.jsp When you find the right JSP page, just forward to it like the ServletDispatcherResult do. (I'm sure Convention plugin must have something like this already working.) 2010/1/29 Marcus Bond <mar...@marcusbond.me.uk>: > Interesting, I hadn't thought of that. However a problem I see here with > this approach is that it implies that there would be different versions or a > different mapping for every view whereas in reality, if a page looks / works > fine on say iphone, htc, windows mobile but doesn't on an old blackberry > then I want to be able to create a tweaked page for one device, but all > others would use the same page and mapping. > > Gabriel Belingueres wrote: >> >> How about using different packages/namespaces for the views? >> >> <package name="package_blackberry" namespace="/bb"> >> <action name="login" class="mypackage.LoginAction"> >> <result name="success">/bb/index.jsp</result> >> </action> >> </package> >> >> <package name="package_winmob" namespace="/wm"> >> <action name="login" class="mypackage.LoginAction"> >> <result name="success">/wm/index.jsp</result> >> </action> >> </package> >> >> >> 2010/1/28 Marcus Bond <mar...@marcusbond.me.uk>: >> >>> >>> Hi, >>> >>> I am wanting to implement a site such that some actions may have a >>> different >>> mapping depending upon the device used (e.g. regular browser / mobile >>> device >>> etc.) but what I don't want to do is have to litter my actions with this >>> type of logic. It could be at the result mapping level (i.e. in >>> struts.xml) >>> such that say a result of success would map to a jsp of somePage.jsp for >>> regular browsers and somePageMobile.jsp for a mobile device (there will >>> be >>> more complications to this as I'd like to be able to have fine grained >>> control based on the user agent so there may be many versions of a jsp >>> such >>> as somePageWinMobile6_5_htc.jsp). >>> >>> There are couple of ways I can think of to do this, but they're ugly: >>> - JSP level logic to render the page differently - dont want it, I'd >>> rather >>> individual jsp's for each supported device (or family) as this allows >>> developers who are working on targeting a site to a specific device to >>> concentrate on that device. >>> - Tiles template level logic - again not ideal as I would like to be able >>> to >>> use specific templates for device types. >>> >>> Better but not perfect would be some sort of post action result modifying >>> interceptor such that in the struts.xml I could define a number of >>> different >>> result mappings such as success, success_winmob, success_blackberry_storm >>> and have the result string that has been returned from the action >>> (success) >>> modified by some sort of interceptor (e.g. appending the suffix prior to >>> struts mapping it off to a view) - the filter itself could be configured >>> as >>> to whether or not to alter result strings based on the action and the >>> user >>> device. - Is it possible to modify the result string post action but >>> prior >>> to struts resolving the mapping? And if so would I have access to the the >>> name of the action? >>> >>> Any suggestions here are greatly appreciated! >>> Web technologies being used are Struts2, Tiles2 and JSP. >>> >>> Regards, >>> Marcus >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> >> >> __________ NOD32 4817 (20100129) Information __________ >> >> This message was checked by NOD32 antivirus system. >> http://www.eset.com >> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org