| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Обновление картинки |
| Автор: iLoveJava 19.3.2008, 19:29 | ||
| У меня в приложениии есть поток который переодически генерить картинку а на странице надо ее переодически обновлять собственно вопрос как на странице ее переодически обновлять? щас я делаю так
и это не работает помогите плиз |
| Автор: v2v 19.3.2008, 19:50 |
| тоесть тебе надо по истечении некоторого времени обращаться к серверу и качать оттуда новую картинку и это без перезагрузки всей страницы? |
| Автор: powerOn 19.3.2008, 23:06 |
| Что конкретно не работает? Какие ошибки выдаёт? Исключения кидает? |
| Автор: necromancer 20.3.2008, 20:14 |
| хммм может быть дело в этом? reRender="imageForm" может нада так? reRender="imageForm:mapImage" + если включено кеширование то картинка могла закешится браузером. |
| Автор: iLoveJava 21.3.2008, 17:48 |
| 2 powerOn никаких ошибок нет просто не обновляет и все, а myMap обновляет наверное вся проблема в кешировании а как сказать браузеру что бы не кешировал картинку? |
| Автор: iLoveJava 23.3.2008, 22:23 | ||||
пробывал делать так
не помогло хотя картинка не должна в теории кешироваться cacheable="false" но мап обновляется... |
| Автор: necromancer 25.3.2008, 17:16 |
| у тебя картинка лежит на форме, форма это namingContainer т.е. к айдишнику твоей картинки прибавляется id формы |
| Автор: iLoveJava 26.3.2008, 21:37 | ||
2 necromancer попробывал так как ты сказал вот что вышло
но оно не работает!!!! Как и в предыдущих случаях обновляется токо мап 2 necromancer А как в 1 и 2 варианте мог обновляться мап? А нельзя картинку в какойнить компонент поместить? |
| Автор: necromancer 26.3.2008, 22:14 |
| на самом деле из за таких вот проблем я сам и не использую a4j:mediaOutput а написал сервлет, который собственно рендерит изображение, обновляется все без проблем PS session="true" попробуй session="false" |
| Автор: alexsmirnov 27.3.2008, 07:23 |
| Браузеры сильно консервативны. При динамической замене картинки, на сервер за ней не лезут, даже если все заголовки кеширование запрещают. Надо чтобы URL хоть чуть-чуть поменялась. Например, в value/data вставлять время последней генерации картинки. Оно сериализуется в URL, и все будет в порядке. Более того, при этом картинку можно сделать кешируемой - запрос пойдет только если она реально поменялась. |
| Автор: iLoveJava 27.3.2008, 19:41 | ||||
| alexsmirnov ты оказался прав спс ктонить добавте человеку +1 а то я не могу :( 2 necromancer тебе тоже спс за участие я на всякий случал сделал session="false" а так как все теперь работает так даже не хочу проверять зависит от этого что-нибудь или нет
и
Обновляет... Токо вот тут проблема: оно обновляет, но при этом сначала "убивает" картинку, потом посылает запрос на сервер, получает ответ и токо потом рисует картинку. Получается, что страничка ка бы постоянно скачет. Нельзя ли сделать, чтобы картинка убивалась токо после того, как получен ответ от сервера? и нельзя ли поместить картинку в какой-нибуть контейнер так, чтобы он оставался постоянного размера и позволял бы делать прокрутки, если его размер к примеру 100х100, а картинка 1000х1000. |
| Автор: alexsmirnov 28.3.2008, 02:45 |
| Надо ставить размеры для тега img ( width/height , или в стиле ). Если картинка генерируется, то ее размер должен быть известен. Если это файл, то можно считывать его свойства. Грузить в background можно, но для этого довольно много javascript написать потребуется - вначале вывести скрытый элемент img, прикрутить к нему listener, по окончании загрузки скопировать элемент по назначению. |
| Автор: iLoveJava 28.3.2008, 15:23 |
| чуствую с бекграундом для меня проще будет такой аплет сделать... а на счет контейнера ничего посоветовать не можете? |