2009-07-01 6 views
0

J'ai un problème étrange et aucun débogage de chance.JSR168 Portlet Étrange page expirant

J'ai été chargé d'écrire un portlet compatible JSR168 pour rechercher une base de données. Lorsque vous ouvrez le portlet, vous disposez de 6 zones de recherche pour différents critères afin de rechercher plusieurs milliers d'enregistrements. Une fois que vous appuyez sur Rechercher, une autre page s'affiche (elle conserve la première page et utilise <jsp: include> pour la deuxième page afin que les utilisateurs puissent voir/modifier leurs termes de recherche) avec les résultats de la recherche. À partir de la page de résultats de recherche, l'utilisateur peut cliquer sur l'un des résultats (qui redirige vers une nouvelle page) et obtenir des informations plus détaillées à ce sujet.

Tout cela fonctionne. Le problème est lorsque l'utilisateur veut effectuer une nouvelle recherche. Quand j'ai développé ceci, j'ai utilisé LifeRay installé sur ma machine locale. Tout fonctionne parfaitement dans IE, Firefox et Chrome. Cependant, lorsque je le déploie sur notre portail de développement (IBM WebSphere), il ne fonctionne pas correctement dans IE. Dans Firefox/Chrome, lorsqu'un utilisateur se trouve sur la page d'informations détaillées, il peut revenir sur son navigateur et charger une version en cache des résultats de la recherche. Parfait, parce que ce contenu change rarement. Cependant, dans IE, quand ils cliquent sur le bouton de retour dans la vue détaillée, nous obtenons un message "La page Web a expiré". J'ai essayé tous les paramètres de mise en cache dans les paramètres du portail pour le portlet et la page, mais je n'ai pas eu de chance.

Vous avez des idées?

Répondre

0

La « page Web a expiré message » dans IE indique que vous avez fait un POST. Vous pourriez essayer d'utiliser un GET, qui ne devrait pas avoir ce problème sur la commande "back".

Vous devez installer WebSphere Portal sur votre machine de développement et tester localement avant de passer à un autre environnement.

+0

Je souhaite pouvoir utiliser GET, mais malheureusement ce n'est pas compatible avec JSR168. Cela permet seulement au POST de soumettre un formulaire. –

+0

Je suis confus. De la question, je comprends que c'est un portlet jsr168. Mais, cela ne devrait pas avoir d'importance. Vous pouvez toujours réécrire le formulaire en tant que formulaire HTML standard. L'attribut method peut être défini sur «get» et l'attribut action doit contenir l'action url, qui peut être générée avec une balise . –

+0

Ce que André peut éventuellement vouloir dire, c'est que son portlet ne soit plus compatible JSR168 s'il utilise GET. –

Questions connexes