2

ApacheCXFを使用しています。そして私はこのコントローラーを持っています

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

ApacheCXFで「JspView」のようなものが見つかりません。apace CXFでJSPページを返し、「モデル」をJSPに渡す方法は?

簡単な例を教えてください。(私はこのドキュメントを見つけましたが、私にはうまくいきません)

4

1 に答える 1

4

ええと、私には1つの可能な解決策があります。登録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 spring config:

    <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 に答える