2012-08-01 72 views
2

我使用Apache CXF。我有这个控制器Apache CXF转发到JSP页面与模型

@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(); 
} 

我在Apache CXF中找不到类似“JspView”的东西。如何在atime CXF中返回一个JSP页面并将“model”传递给JSP?

能给我一个简单的例子吗? (我发现this documentation,但它不适合我)

回答

4

那么,我有一个可能的解决方案。因为我忘了注册JAXRS它没有工作之前我:供应商

控制器:

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

JAXRS Spring配置:

<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> 

而model.jsp:

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