Thanks a lot! I worked!

Tell me, do you know a good book about wicket? I have red the 1st chapter o
Wicket in Action from manning and it seams nice, but it is not finished yet.

Thanks again!

--ms


Matej Knopp-2 wrote:
> 
> Image doesn't change because it's being cached by the browser.
> To ensure that browser doesn't cache the image you need to append a
> string to url that changes on every refresh.
> Just like NonCachingImage does.
> 
> -Matej
> 
> On Dec 22, 2007 8:53 PM, Marco Santos <[EMAIL PROTECTED]> wrote:
>>
>> Hello there!
>>
>> I'm with problems refreshing an Image. On my web application i'm trying
>> to
>> refresh or change an Image that is on a Panel. On the panel there is a
>> Image
>> (it is rendered the first time) and a label. Outside the panel i have
>> AjaxLink's (that are images too) that refresh the panel, and consequently
>> the components on it, the image and the label. when the link is clicked,
>> the
>> label e refreshed with the new text, but the image still the same. The
>> code
>> is the following:
>>
>> /**
>>  *The Panel with the image to be refreshed:
>>  *(the label on the panel is freshed when the link is pressed.
>>  **/
>> public class PhotoPanel extends Panel {
>>     /** Creates a new instance of PhotoPanel*/
>>     public PhotoPanel(String id, byte[] photoData, int size, Integer
>> index)
>> {
>>         super(id);
>>         setOutputMarkupId(true);
>>
>>         MyImage mainPhoto = new MyImage("mainPhoto", photoData,
>> size);//component that extends Image
>>         mainPhoto.setOutputMarkupId(true);
>>
>>         Label label = new Label("index", "MYLABEL: " + index.toString());
>>
>>         add(mainPhoto);
>>         add(label);
>>     }
>> }
>>
>> /**
>>  * The AjaxLink's on a Parent panel that holds a panel with the links,
>> and
>> the panel with the image
>>  * to be refreshed
>>  **/
>> private class PhotoSlideLink extends AjaxLink {
>>         private byte[] photoSlideData = null;
>>         Integer index = 0;
>>         public PhotoSlideLink(String id, byte[] photoSlideData ) {
>>             super(id);
>>             this.photoSlideData = photoSlideData ;
>>
>>             MyImage photoSlide = new MyImage("photoSlide", photoSlideData
>> ,
>> 100);
>>             add(photoSlide );
>>         }
>>
>>         @Override
>>         public void onClick(AjaxRequestTarget ajaxRequestTarget) {
>>             Panel newMainPhotoPanel = new PhotoPanel("mainPhotoPanel",
>> photoSlideData , MAIN_PHOTO_SIZE, index++);
>>             newMainPhotoPanel .setOutputMarkupId(true);
>>
>>             /*the first PhotoPanel created when the page was loaded*/
>>             mainPhotoPanel.replaceWith(newMainPhotoPanel);
>>             mainPhotoPanel= newMainPhotoPanel ;
>>
>>             ajaxRequestTarget.addComponent(newMainPhotoPanel);
>>         }
>>     }
>>
>> Does any one know why refreshing the panel, the label change, but not the
>> image? Am i forgetting to do something?
>>
>> Thanks a lot
>> --
>> View this message in context:
>> http://www.nabble.com/Problems-Refreshin-a-Image-from-AjaxLink-tp14472713p14472713.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> 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]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problems-Refreshin-a-Image-from-AjaxLink-tp14472713p14473189.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to