Как да пренапиша URL адреса

Имам малко приложение, създадено с помощта на Seam 2.2, Richfaces 3.3, JBoss 5.1.

По-голямата част от навигацията на страницата добавя параметрите на заявката към целевия URL. Бих искал да скрия параметрите, които да бъдат скрити за клиента, който използва приложението (напр. бих очаквал URL адресът да бъде нещо като "http://localhost:8080/books/Book.seam". Параметрите (userId, orderId и cmId) в момента са картографирани към backend bean чрез Book.page.xml.

Как да предотвратя показването на параметрите на заявката в URL адреса на браузъра, тъй като това също позволява на клиента да манипулира URL адреса.

Разгледахме функцията за пренаписване на шев URL, тя говори за манипулиране, да речем, на идентификатора на първичния ключ във формат REST, не сме сигурни как да постигнем нещо по-сложно като горния случай на използване по елегантен начин.


person Achaius    schedule 16.06.2010    source източник
comment
Вие сте луд, че използвате такива ужасни раздути технологии.   -  person hendry    schedule 17.06.2010
comment
проверете това, ако помага jtict.com/blog/seam-form-url- пренаписване   -  person Inv3r53    schedule 18.06.2010
comment
@hendry Предполагам, че имаш много опит с richfaces и seam, за да ги наречеш "ужасно надути"?   -  person Bozho    schedule 21.06.2010


Отговори (1)


PrettyFaces предлага пренаписване на URL адреси за JSF.

Не можете обаче да „скриете“ GET параметрите. Освен ако не ги направите POST параметри. Но всички изпращания са POST в JSF по подразбиране.

person Bozho    schedule 21.06.2010
comment
Опитахме prettyfaces, филтри за презапис на url адрес на tuckey, но не можахме да го накараме да работи в нашата среда. Използвахме web:rewrite-filter от seam и постигнахме относителен успех по отношение на URL адресите, които се генерират, но става много сложно, когато е на страница със списък, генериран от EntityQuery, където имате параметри за сортиране като dir, logic, sort освен параметрите на заявката за изпълнение на самата заявка, които в нашия случай са много. ‹web:rewrite-filter view-mapping=*.seam /› ПРОДЪЛЖЕНИЕ в следващия коментар - person Achaius; 24.06.2010
comment
Ние предаваме параметри на страница всеки път, когато зареждаме конкретен обект от списъка с обекти, генериран чрез EntityQuery (т.е. имаме много декларации f:param на s:link, сочещи към самия обект, и тези параметри на страницата се предават в URL адреса. Имате спомена това да се направи като POST параметри, как мога да направя това? - person Achaius; 24.06.2010
comment
PrettyFaces трябва да ви позволи да конвертирате GET ?параметри в /path/parameters. Много е добър в това. Или можете да опитате ocpsoft.com/rewrite - person Lincoln; 07.09.2011