Could you create a quickstart? The great thing with quickstarts, are
that sometimes you discover whats wrong, and if not we will:)
You can use the maven quickstart archetype to get going fast...
It defiantly sounds like a caching error of somesort...
regards Nino
Karol Wrzesniewski wrote:
ok - that's how it looks:
------------------------------------------------------------------------------------
this is a ListView on the panels left side:
add(listaObrazow = new ListView("pics", obrazki) {
public void populateItem(final ListItem listItem) {
final String obr = (String)listItem.getModelObject();
AjaxLink linka = new AjaxLink("picAjaxLink") {
public void onClick(AjaxRequestTarget
ajaxRequestTarget) {
imgPreview.setImageResource(
EbokTools.getImageResource(
(String)listItem.getModelObject()
)
);
ajaxRequestTarget.addComponent(imgPreview);
myModal.setObraz((String)listItem.getModelObject());
ajaxRequestTarget.addComponent(wyborObrazow);
}};
linka.add(new Label("pic",new Model(obr)));
listItem.add(linka);
}
});
------------------------------------------------------------------------------------
that's getImageResource method:
public static ByteArrayResource getImageResource(String picName) {
byte[] plik = null;
try {
plik = EbokTools.fileToArray(
new File(
EbokSettings.getImgDir()+"/"+picName));
} catch (IOException ex) {
ex.printStackTrace();
}
return new ByteArrayResource("img",plik);
}
------------------------------------------------------------------------------------
As I wrote before imgPreview is a NonCachingImage object placed on the
same Modal Window as ListView. Its created in the panel constructor
using method:
EbokTools.getImage("imgPreview", "nopic.jpg");
getImage looks like this:
public static NonCachingImage getImage(String wicketID, String
picName) {
return new
NonCachingImage(wicketID,getImageResource(picName));
}
---------------------------------------------------------------------------------
To make it work I need to:
- open modal window
- click on one of the AjaxLinks on listaObrazow (it doesn't
trigger image refresh :\ )
- close modal
- open it again
After that images are changing on clicking AjaxLinks - as they should.
best regards,
Karol
Dnia 29-02-2008 o 10:15:55 Nino Saturnino Martinez Vazquez Wael
<[EMAIL PROTECTED]> napisał(a):
Could you show us some code?
regards
Karol Wrzesniewski wrote:
Thanks for all your help.
NonCachingImage is exacly what I wanted.
It works fine but only after I open modal window, call
setImageResource, close modal and reopen it again.
After first call of modal window default image is created, when I'm
trying to change it "nothing happens" exacly like with "plain" Image
objects. But when I close modal and open it again everything works
as intended to, pictures are refreshing using chosen resources.
regards,
Zyx
Dnia 28-02-2008 o 10:22:40 Nino Saturnino Martinez Vazquez Wael
<[EMAIL PROTECTED]> napisał(a):
:) I think thats the point of noncaching image thats already there,
it's just that people gets confused by this...
Bernard Niset wrote:
Hi,
I had the same issue yesterday and found a solution somewhere else
in this mailing list. Adding some random query to the url forces
the browser not to reuse a cached image. To achieve that you have
to subclass Image and override onComponentTag like this:
@Override
protected void onComponentTag(ComponentTag tag)
{
super.onComponentTag(tag);
String src = (String) tag.getAttributes().get("src");
src = src + "&rand=" + Math.random();
tag.getAttributes().put("src", src);
}
Bernard.
Igor Vaynberg wrote:
most people want stable urls for their images i would imagine, so
they
can be cached by the browser.
in case of ajax this doesnt work because the url has to change so
that
browser needs to know to refresh it.
maybe image can know if its requested within an ajax request and
automatically add random noise to the url...there maybe room for
improvement here.
please add an rfe
-igor
On Wed, Feb 27, 2008 at 11:12 AM, Nino Saturnino Martinez Vazquez
Wael
<[EMAIL PROTECTED]> wrote:
Should nocachingImage be default, and then have a cachingImage?
Or would
that result in the same amount of confusion? WDYT?
As a couple of people has been confused by this...
regards Nino
Igor Vaynberg wrote:
> use NonCachingImage
>
> -igor
>
>
> On Wed, Feb 27, 2008 at 2:43 AM, Karol Wrzesniewski
> <[EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> I'm having problems with refreshing an Image using AjaxLink.
>>
>> I have a ModalWindow. On it's left side theres a ListView
containing Ajax
>> links:
>>
>> ----------
>> add(listaObrazow = new ListView("pics", obrazki) {
>> public void populateItem(final ListItem
listItem) {
>> final String obr =
(String)listItem.getModelObject();
>> listItem.add(new Label("pic",new Model(obr)));
>>
>> listItem.add(new AjaxLink("picAjaxLink") {
>> public void onClick(AjaxRequestTarget
>> ajaxRequestTarget) {
>>
>> imgPreview.setImageResource(
>> EbokTools.getImageResource(
>>
(String)listItem.getModelObject()
>> )
>> );
>>
>>
ajaxRequestTarget.addComponent(imgPreview);
>>
>>
>>
myModal.setObraz((String)listItem.getModelObject());
>>
ajaxRequestTarget.addComponent(wyborObrazow);
>> }});
>> }
>> });
>> ----------
>>
>>
>>
>> imgPreview is an Image object, placed on the same modal
Window. What Im
>> trying to achieve is to refresh this image after the
AjaxLink is clicked.
>> Unfortunately it doesn't. After I click on AjaxLink content
of form
>> "wyborObrazow" is refreshed, but image stays unchanged.
>>
>> Image resource is being changed - i know that because after
i close modal
>> and open it again "imgPreview" is showing me the "right"
Resource.
>>
>> The problem is that calling
ajaxRequestTarget.addComponent(imgPreview);
>> after changing imageResource doesn't seem to be enough.
>>
>> I would be very grateful for some hints.
>>
>> best regards,
>> Zyx
>>
>> --
>>
>>
---------------------------------------------------------------------
>> 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]
>
>
>
--
Nino Martinez Wael
Java Specialist @ Jayway DK
http://www.jayway.dk
+45 2936 7684
---------------------------------------------------------------------
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]
--
-Wicket for love
-Jme for fun
Nino Martinez Wael
Java Specialist @ Jayway DK
http://www.jayway.dk
+45 2936 7684
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]