Срок действия странной страницы портлета JSR168 истекает

У меня странная проблема, и отладка не удалась.

Мне было поручено написать портлет, совместимый с JSR168, для поиска в базе данных. Когда вы открываете портлет, вам предоставляется 6 полей поиска по различным критериям для поиска нескольких тысяч записей. Как только вы нажмете кнопку «Поиск», откроется другая страница (она сохраняет первую страницу и использует <jsp: include> для второй страницы, чтобы пользователи могли видеть/изменять условия поиска) с результатами поиска. На странице результатов поиска пользователь может щелкнуть один из результатов (который перенаправляет на новую страницу) и получить более подробную информацию о нем.

Все это работает. Проблема в том, что пользователь снова хочет выполнить поиск.

Когда я разрабатывал это, я использовал LifeRay, установленный на моем локальном компьютере. Все отлично работает в IE, Firefox и Chrome. Однако, когда я развертываю его на нашем портале разработки (IBM WebSphere), он не совсем работает в IE. В Firefox/Chrome, когда пользователь находится на странице подробной информации, он может ответить в своем браузере, и он загрузит кешированную версию результатов поиска. Идеально, потому что этот контент редко меняется.

Однако в IE, когда они нажимают кнопку «Назад» в подробном представлении, мы получаем сообщение «Срок действия веб-страницы истек». Я перепробовал все настройки кэширования в настройках портала как для портлета, так и для страницы, но безрезультатно.

У кого-нибудь есть идеи?


person Community    schedule 01.07.2009    source источник


Ответы (2)


На уровне портала тоже есть настройки. Ознакомьтесь со следующей ссылкой: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.ent.doc/wps/adbakbut.html

Вы можете попробовать настроить некоторые из этих параметров в соответствии с требованиями ваших портлетов.

person Nic    schedule 02.07.2009

«Сообщение об истечении срока действия веб-страницы» в IE указывает на то, что вы выполнили POST. Вы можете попробовать использовать GET, у которого не должно быть этой проблемы при команде «назад».

Вы должны установить WebSphere Portal на свой компьютер разработчика и провести локальное тестирование, прежде чем переходить к другой среде.

person Mercer Traieste    schedule 06.07.2009
comment
Я хотел бы использовать GET, но, к сожалению, это не совместимо с JSR168. Это позволяет только POST отправить форму. - person ; 06.07.2009
comment
Я смущен. Из вопроса я понимаю, что это портлет jsr168. Но это не должно иметь значения. Вы все еще можете переписать форму как стандартную html-форму. Атрибут метода может быть установлен на получение, а атрибут действия должен содержать URL-адрес действия, который можно сгенерировать с помощью тега ‹portlet:actionURL/›. - person Mercer Traieste; 06.07.2009
comment
Возможно, Андре имеет в виду, что его портлет больше не будет соответствовать JSR168, если он воспользуется GET. - person Ryan Fernandes; 07.07.2009
comment
Понял. Я уверен, что он по-прежнему будет совместим с jsr168, если вы используете GET для форм. - person Mercer Traieste; 07.07.2009