i think that solution is a bit "dangerous", if you do some refectorings. eg: move the page Administration in another package or the application context is changed
2008/8/29 <[EMAIL PROTECTED]> > Hi, > > I was just about to reply and say I solved it. Missing slash in the > location.href. The following works: > > <input type="button" id="cancelButton" value="Cancel" > onclick="location.href='/Administration';"/> > > thanks for your help. > > > p. > > > Quoting Martijn Brinkers <[EMAIL PROTECTED]>: > > I'm not sure but I thinks it's a similar problem. It looks like >> Administration is interpreted as the context. >> >> If you want to cancel the page it's easier to use the t5Component Button >> component. >> >> Add t5Component jar to you project (see >> http://code.google.com/p/tapestry5-components/) and add this to >> the .tml: >> >> <button t:type="t5components/Button" type="button" >> t:event="cancel">Cancel</button> >> >> >> And add an event handler in your page: >> >> protected Object onCancel() >> { >> return Administration.class; // The Page to redirect to >> } >> >> >> Martijn Brinkers >> >> >> On Fri, 2008-08-29 at 12:09 +0100, [EMAIL PROTECTED] wrote: >> >>> Thanks for the fast reply Martijn; that fixed the GIF asset. >>> >>> However, I am still having problems with the Cancel button. I can >>> reference the Administration page as an asset, but obviously it then >>> does not get processed by Tapestry. >>> >>> Thoughts, anyone? >>> >>> <input type="button" id="cancelButton" value="Cancel" >>> onclick="location.href='Administration';"/> >>> >>> >>> p. >>> >>> >>> Quoting Martijn Brinkers <[EMAIL PROTECTED]>: >>> >>> > I think the following happens >>> > >>> > The gif is requested by your page because of the IMG so the GET for the >>> > IMG looks something like >>> > >>> > http://YOUR_DOMAIN/YOUR_PAGE/bl_red_hundred.gif >>> > >>> > Now you page assumes this is your activation context and tries to >>> > convert it to int (which it's not). >>> > >>> > I think you can solve this by adding an image Asset. Another option I >>> > think would be to not request the image relative to your page but from >>> > for example the /images subir (make sure the request if relative with >>> > respect to you app root and not absolute). >>> > >>> > I guess the other problem is related. >>> > >>> > Martijn Brinkers >>> > >>> > On Fri, 2008-08-29 at 11:23 +0100, [EMAIL PROTECTED] wrote: >>> >> I don't quite understand why the following does not work and produces: >>> >> >>> >> TapestryModule.RequestExceptionHandler Processing of request failed >>> >> with uncaught exception: Exception in method >>> >> uk.bl.dportal.pages.EditUser.onActivate(int) (at EditUser.java:40), >>> >> parameter #1: Coercion of bl_red_hundred.gif to type java.lang.Integer >>> >> (via String --> Long, Long --> Integer) failed: For input string: >>> >> "bl_red_hundred.gif" >>> >> org.apache.tapestry5.runtime.ComponentEventException: Exception in >>> >> method uk.bl.dportal.pages.EditUser.onActivate(int) (at >>> >> EditUser.java:40), parameter #1: Coercion of bl_red_hundred.gif to >>> >> type java.lang.Integer (via String --> Long, Long --> Integer) failed: >>> >> For input string: "bl_red_hundred.gif" >>> >> at >>> >> >>> >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1054) >>> >> ... >>> >> >>> >> >>> >> I have a template which containes a reference to a gif used in the >>> >> banner (BLTemplate.tml): >>> >> >>> >> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> >>> >> <head> >>> >> <title>Digital Portal: ${heading}</title> >>> >> </head> >>> >> <body> >>> >> <div class="nav-top" style="background: #CF0000; float:left; >>> >> height:125px; width:5%;"> >>> >> <img src="bl_red_hundred.gif" alt="bl" /> >>> >> </div> >>> >> <div style="background: #CF0000; float:right; >>> height:125px; >>> >> width:95%"> >>> >> <h1>${title}</h1> >>> >> </div> >>> >> >>> >> <div style="height:100%;"> >>> >> <t:body/> >>> >> </div> >>> >> ... >>> >> >>> >> >>> >> This template is used for all my pages (in this case EditUser.tml): >>> >> >>> >> <html t:type="BLTemplate" t:heading="literal:Edit User Details" >>> >> t:title="literal:Edit >>> User Details" >>> >> xmlns:t=" >>> http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> >>> >> <body> >>> >> <p><h3>Edit user details.</h3></p> >>> >> ... >>> >> >>> >> >>> >> This page is called from a link produced by the Grid component (in >>> >> ManageUsers.tml): >>> >> >>> >> <t:grid t:source="allUsers" t:reorder="userName" >>> >> t:exclude="id,password" t:row="listItem"> >>> >> <t:parameter t:name="userNameCell"> >>> >> <t:PageLink t:page="editUser" >>> t:context="listItem.id"> >>> >> ${listItem.userName} >>> >> </t:PageLink> >>> >> </t:parameter> >>> >> </t:grid> >>> >> >>> >> >>> >> and EditUser.java has an onActivate with a parameter: >>> >> >>> >> public void onActivate(int id) >>> >> { >>> >> Query query = session.createQuery("from User where id = >>> '"+id+"'"); >>> >> List result = query.list(); >>> >> user = (User)result.get(0); >>> >> } >>> >> >>> >> >>> >> Why is the GIF name being passed in initially? The page still works, >>> >> so the id is being set to that given by the link from ManageUsers.tml. >>> >> The exception is generated but it continues on to display the page. >>> >> >>> >> However, I have a Cancel button on the EditUser page, and when I press >>> >> that the whole lot fails with a coercion error, this time trying to >>> >> take the name of the page from the Cancel button and pass it as a >>> >> parameter: >>> >> >>> >> (EditUser.tml): >>> >> >>> >> <input type="button" id="cancelButton" value="Cancel" >>> >> onclick="location.href='Administration';"/> >>> >> >>> >> >>> >> producing exception: >>> >> >>> >> Exception in method uk.bl.dportal.pages.EditUser.onActivate(int) (at >>> >> EditUser.java:36), parameter #1: Coercion of Administration to type >>> >> java.lang.Integer (via String --> Long, Long --> Integer) failed: For >>> >> input string: "Administration" >>> >> >>> >> >>> >> What is going on and why does this happen? It's only happening for >>> >> this page which has an onActivate with a parameter. All my other pages >>> >> work as expected. >>> >> >>> >> thanks, >>> >> p. >>> >> >>> >> >>> >> >>> >> >>> >> --------------------------------------------------------------------- >>> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> >> For additional commands, e-mail: [EMAIL PROTECTED] >>> >> >>> > >>> > >>> > --------------------------------------------------------------------- >>> > To unsubscribe, e-mail: [EMAIL PROTECTED] >>> > For additional commands, e-mail: [EMAIL PROTECTED] >>> > >>> > >>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- with regards Sven Homburg http://www.chenillekit.org http://tapestry5-components.googlecode.com