после кнопки возврата портлет не переходит в процессную операцию - PullRequest
0 голосов
/ 23 июня 2011

У меня есть портлет, который включает отображение нескольких страниц JSP.

В первом JSP page A, когда я нажимаю кнопку Submit на Page A, метод processAction() начинает действовать, и появляется JSP page B.

Теперь, если я использую кнопку Назад веб-браузера до page A и снова нажимаю кнопку Отправить, появляется JSP page B, но я заметил, что processAction() не предпринимает никаких действий,(Обычно нажатие кнопки «Отправить» на странице JSP может привести к действию processAction().)

Кто-нибудь может помочь в решении этой проблемы?В моем Porlet он ДОЛЖЕН перейти к действию процесса, но не после кнопки «Назад».

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Это поведение по умолчанию. На портале "Multiple Action URL Protection" включено по умолчанию. Когда страница загружается, создается ссылка действия, и эта ссылка содержит action ID. Тот же идентификатор действия не может быть снова использован в том же сеансе. Поэтому, когда вы нажимаете кнопку «Назад», если страница загружается из кэша истории, ваша форма содержит ту же ссылку действия, которая использовалась ранее. Так что портал просто перезагружает страницу, а не вызывает processAction(). Вы можете отключить это, добавив следующую конфигурацию для вашего портлета в файл portlet.xml.

<init-param>
   <name>wps.multiple.action.execution</name>
   <value>true</value>
</init-param>
0 голосов
/ 27 июня 2011

Не видя никакого кода, звучит так, как будто ваш ответ формы может быть кэширован. Каков атрибут метода на вашем <form>? Формы, отправленные через GET (или вообще без атрибута method), разрешено кэшировать; в этом случае ни сервер, ни ваш портлет processAction(...) не будут вызваны - браузер повторно отобразит предыдущий ответ из кэша.

Если вы напишете какой-нибудь код, возможно, появятся другие предложения о помощи ...

...