Nick,
That looks like a very interesting solution.  Could you explain which values 
are which?

I subsituted your code into my environment and it wants deleteFormAction to be 
a static variable on "my.project.PatientEdit".  I tried to get it to call my 
method, but my method is a listener.  So, I don't want to put a static variable 
in my class and if I create a method without the "IRequestCycle cycle", how do 
I get which was the selected item?

thanks,

Mark

-----Original Message-----
From: Nick Westgate [mailto:[EMAIL PROTECTED]
Sent: Thu 8/18/2005 4:09 AM
To: Tapestry users
Subject: Re: LinkSubmit not passing in arguments
 
Hi Mark and Muhariz.

Have you considered using the LinkSubmit selected and tab parameters?

     <component id="deleteLink" type="LinkSubmit">
          <binding name="selected" expression="submitTarget"/>
          <binding name="tag" expression="@[EMAIL PROTECTED]"/>
     </component>

I'm using a string because I like to do naughty things: adding extra
'parameters' to the string and parsing it later. But the certified Tapestry Way
would be to use an array type or some other object that suits you if you have
more than one 'parameter' to pass.

Tag gets assigned to selected before the component or form listener is called.
Then you can grab your 'parameters' from selected.

Does this do what you need?

Cheers,
Nick.


Mark Stang wrote:
> Hi,
> I have the same problem.  
> 
> The issue is that DirectLink allows you to create the link in the HTML page 
> with parameters.  When you click on that link, the page is NOT submitted, 
> rather control is transferred to whereever the link is pointing to and it 
> only passes the parameters in the link.  Those parameters were created when 
> the HTML was generated by Tapestry.  Therefore any changes you have made to 
> the data on the screen can NOT be in those links.
> 
> With LinkSubmit it is very similar.  A LinkSubmit causes the whole form to be 
> submitted with all of your changes packaged up and sent to Tapestry to post 
> into your variables.  However, the fact that you clicked on a Link and the 
> parameters from that link are NOT sent along which is why you get "0".  What 
> you need is something called a Parameterized Link Submit.  The current 
> LinkSubmit does NOT allow you to specify a Parameter.
> 
> Link Submit Definition of available Parameters: (see 
> http://jakarta.apache.org/tapestry/3.0.3/doc/ComponentReference/LinkSubmit.html)
> Parameters
> Name  Type    Direction       Required        Default         Description
> disabled      boolean         in      no      false   Controls whether the 
> link is produced. If disabled, the portion of the template the link surrounds 
> is still rendered, but not the link itself.
> selected      Object  out     no              This parameter is bound to a 
> property that is updated when the submit button is clicked by the user. The 
> property is updated to match the tag parameter.
> tag   Object  in      no              Tag used with the selected parameter to 
> indicate which Submit button on a form was clicked.
> listener      IActionListener         in      no              If specified, 
> the listener is notified. This notification occurs as the component is 
> rewinded, i.e., prior to the Form's listener. In addition, the selected 
> property (if bound) will be updated before the listener is notified. 
> 
> So, there is NO way to specify which link was clicked.
> 
> Glen posted a modified LinkSubmit that allows you to pass in parameters.  I 
> haven't had any luck getting it to work properly.  Here is the link 
> 
> http://www.jroller.com/page/gstamp/20050514
> 
> Good Luck and if you it working let me know ;-).  I think part of my issue 
> with it is that I have conditional elements on my page and it is causing me 
> grief.
> 
> regards,
> 
> Mark
> 
> 
> -----Original Message-----
> From: Muhariz Jabeer [mailto:[EMAIL PROTECTED]
> Sent: Wed 8/17/2005 12:46 PM
> To: Tapestry users
> Subject: LinkSubmit not passing in arguments
>  
> hi guys, 
> 
> I have this problem where i have to use LinkSubmit instead of DirectLinks to 
> keep persistence within a set of tabs in an application.
> The problem i am having is, if i use DirectLink, the parameters arguement 
> can be used to pass information. However, LinkSubmit doesnt
> allow me to pass parameters to the server. Everytime i try to get the 
> serviceParameters( ) from the listener, i get a "0"?
> 
> Any ideas how i can make LinkSubmit work for me? Basically i need to pass a 
> String from my Tab Component to the server, I'm using DirectLink
> now, but i really need it to be a submission to the server when u click any 
> of the links.
> 
> 
> Thanks a lot,
> any help would be much appreciated.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to