2

我使用 Apache CXF。我有这个控制器

@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”的东西。如何在 CXF 中快速返回 JSP 页面并将“模型”传递给 JSP?

请给我一个简单的例子好吗?(我找到了这个文档,但它对我不起作用)

4

1 回答 1

4

好吧,我有一个可能的解决方案。它以前对我不起作用,因为我忘记了 register jaxrs:provider

控制器:

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

jax-rs 弹簧配置:

    <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>
于 2012-08-01T13:40:11.770 回答