Лица в ADF не могут получить параметры запроса

У меня есть веб-приложение ADF с Faces 1.2

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

Это моя форма сообщения, которую я публикую в Faces:

<form name="input" action="http://127.0.01:7072/myapplication/faces/login.jspx" method="post">
   <input type="hidden" name="user" id="user" value="myUserName"/>
   <input type="submit" value="Submit"/>
</form>

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("user");

FacesContext.getCurrentInstance().getExternalContext().getRequest().getParameter("user");

Но я всегда получаю ноль, и метод формы, которую я получаю: GET, странный!

2 ответа

Когда вы делаете запрос на URL, как:

http://server/faces/somepage.jspx

Платформа ADF ответит вам ответом "Ошибка HTTP 302 временно перемещена" и перенаправит вас на URL-адрес, например:

http://server/faces/somepage.jspx?_adf.ctrl-state=888888&_afrLoop=9999999

поэтому ваш первый запрос POST опущен, и браузер отправляет другой запрос на новый URL, который ADF возвратил в ответ, так как параметр отправки метода POST в теле запроса браузер не отправляет их в новом запросе Get, так что я думаю, что нет никакого способа для Вы должны получить параметры непосредственно в сторону страницы ADF!:(

но я думаю, что лучший способ - это создать сервлет, получить в нем параметры и поместить их в сессию, а затем перенаправить пользователя из сервлета на страницу ADF:)

Мне удалось прочитать параметры запроса, включив мои операции синтаксического анализа в сопоставления фильтров, которые использовало мое приложение.

Очень ненормально FacesContext всегда отказывался раскрывать текущие параметры, до сих пор для меня загадка, почему он так понравился, даже в его внешнем контексте...

Другие вопросы по тегам