2015-03-20 8 views
2

Я развертываю веб-приложение в JBoss EAP6 и Glassfish 4, все работает так, как ожидалось, до момента, когда я добавляю баночки deltaskpike в проект.RequestDispatcher # forward перенаправляется вместо пересылки, если я добавляю Deltaspike

После deltaskpike включен, следующий код внутри сервлета:

request.getServletContext().getRequestDispatcher("/faces/page.xhtml").forward(request, response); 

отправит ответ перенаправления (HTTP: 302) в браузере вместо перенаправления на стороне сервера. если я удалю из контейнера deltaskpike из приложения, то диспетчер отправляется вперед, как и ожидалось.

Если я перешлю любую вещь, отличную от FacesServlet, она работает должным образом.

Является ли Deltaspike изменением поведения по умолчанию RequestDispatcher?

ответ

3

У меня есть это, Deltaspike не модифицирует диспетчер запросов. то, что он на самом деле делает, это добавить параметр идентификатора окна (называемый dswid) для каждого запроса JSF, который не имеет одного, отправив ответ перенаправления на браузер с параметром на нем.

Чтобы избежать перенаправления, просто добавьте? Dswid = {the_current_value} к вашему пути диспетчера.