2014-12-22 1 views
0

мы использовали Viewable (в то время у нас был Джерси как реализация JAX-RS). Теперь мы хотим запустить его в WebSphere 8.5. Это JEE6-сервер, и по умолчанию JAX-RS не поддерживается Viewable. Так как там используется JAX-RS Apache Wink.В предыдущем проекте JAX-RS

Каков наилучший путь для ответов, как HTML с внутренними объектами? Мы хотим использовать механизм рендеринга.

Thanx, Роберт

ответ

1

Если вам нужно отобразить простой страницы JSP вы можете просто впрыснуть запрос и сделать нормальный вперед, как это:

@Path("/service") 
public class RestService { 

    @Context 
    HttpServletRequest request; 
    @Context 
    HttpServletResponse response; 


    @GET 
    @Path("/getPage") 
    public void getPage() { 
     try { 
      request.getRequestDispatcher("/mypage.jsp").forward(request, response); 
     } catch (ServletException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 
+0

Thax, но нам нужно некоторую информацию JSP , Просмотр с POJO-Model был очень хорошим. Есть ли другая возможность? – Robert

+0

@Robert Этот пример упрощения, вы можете использовать 'request.setAttribute()', чтобы передать jsp любую необходимую вам информацию. Вы также можете вызвать сервлет вместо jsp, если вам нужна другая обработка (вы не писали, какой движок рендеринга вы используете, и какую информацию вам нужно передать). Другим способом было бы заменить «Джерси», см. [Этот пост] (http://stackoverflow.com/questions/24684958/jax-rs-jersey-2-10-support-in-websphere-8/24713878#24713878), но вы потеряете некоторые функции, например Интеграция CDI. – Gas

+0

Работает очень хорошо. Еще один вопрос: какой лучший способ использовать инъекцию зависимостей в JEE6/JAX-RS без Джерси? Мы будем использовать CDI.but, мы также нуждаемся в нем для встроенного сервера (Jetty или Grizzly). Это для тестов. – Robert

Смежные вопросы