2012-08-01 1 views
2

J'utilise Apache CXF. Et j'ai ce contrôleurApache CXF transmettre à la page JSP avec le modèle

@GET 
@Path("/benchmark") 
@Produces("text/html") 
public Response getForbiddenBrowserList() { 
    MyModel model = generateMyModel(); 
    //And now I want to do something like: 
    return Response.ok(JspView("WEB-INF/pages/benchmark.jsp", model)).build(); 
} 

Je ne peux pas trouver quelque chose comme « JspView » dans Apache CXF. Comment retourner une page JSP dans un fichier CXF et passer "model" à JSP?

Pouvez-vous me donner un exemple simple, s'il vous plaît? (J'ai trouvé this documentation, mais ça ne marche pas pour moi)

Répondre

4

Eh bien, j'ai une solution possible. Il ne m'a pas travailler avant parce que j'oublie enregistrer jaxrs: fournisseur

Controller:

@GET 
@Path("/benchmark") 
@Produces("text/html") 
public MyModel getForbiddenBrowserList() { 
    MyModel model = generateMyModel(); 
    //And now I want to do something like: 
    return MyModel; 
} 

jaxrs config printemps:

<jaxrs:server id="notesService" address="/"> 
    ... 
     <jaxrs:providers> 
      <ref bean="dispatchProvider"/> 
     </jaxrs:providers> 
    </jaxrs:server> 

    <bean id="dispatchProvider" class="org.apache.cxf.jaxrs.provider.RequestDispatcherProvider"> 
     <property name="classResources"> 
      <map> 
       <entry key="com.acme.MyModel" value="/WEB-INF/pages/model.jsp"/> 
      </map> 
     </property> 
     <property name="beanNames"> 
      <map> 
       <entry key="com.acme.MyModel" value="myModel"/> 
      </map> 
     </property> 
</bean> 

Et model.jsp:

<%@ page import="com.acme.MyModel" %> 
<% 
    MyModel myModel= (MyModel) request.getAttribute("myModel"); 
%> 
<html> 
    <head></head> 
    <body> 
     Model: <%= myModel.value %> 
    </body> 
</html>