If you don't want to mess with DataSqueezers and other esoterical stuff, you could use the FormLinkRenderer by MindBridge, you can download it from http://www.t-deli.com/.
In short, specifying the "renderer" attribute of any DirectLink will automatically turn the request into a POST instead of GET. I think there's an example in the t-deli page. <span jwcid="@DirectLink" renderer="ognl:@[EMAIL PROTECTED]" ... Regards, Dario On 10/29/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
Generally, this occurs because Tapestry has been forced to serialize an object, or a collection of objects, to the form in order ensure consistency when the form is rewound. You can prevent this by defining a 'DataSqueezer' for your entities which will allow you to send a simple primary key from which the object can be loaded, rather than having to serialize the entire state of the object to the browser. Also, wherever possible, make your loops and conditionals volatile, so that the collection that is the source of the loop doesn't have to get serialized at all. Of course, this runs the risk of introducing stale link errors, so must be used judiciously. You will surely be able to determine the constructs which need to be modified by taking a look at the source of your form (or the query string params) and you'll see long uuencoded text strings which are serialized objects. There is a page describing the DataSqueezer concept on the tapestry wiki. I've also attached my EnumSqueezer as an example. You'll also need the entries equivalent to the following in your hivemodule.xml file. <service-point id="EnumSqueezer" interface="org.apache.tapestry.util.io.SqueezeAdaptor"> <invoke-factory> <construct class="com.euroclick.gb.web.utils.EnumSqueezer"/> </invoke-factory> </service-point> <contribution configuration-id="tapestry.data.SqueezeAdaptors"> <adaptor object="service:EnumSqueezer"/> </contribution> On 10/29/06, Julian Sinai <[EMAIL PROTECTED]> wrote: > Hi--I'm having a problem with Tapestry URLs from a DirectLink in my application. It seems to only be a problem in Internet Explorer. My guess is the URLs are too long. I've tried the documented advice to use the DirectLink service encoder, but that doesn't shorten the session information that gets added to the query string. I've also tried the FormLinkRenderer from the Tapestry Deli site, but that didn't work at all. I've also tried @Persist("client") technique but I don't think I understand it properly because it broke my app. > > I don't know if this makes any difference, but the DirectLink in question is inside a custom component, although it's a very simple one. Also, I'm using Tap 4.0.2. > > Any advice is greatly appreciated. > Thanks, > Julian > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- So little time and so little to do. -- Oscar Levine