1

com.sun.jersey.api.view.Viewable次に使用して、Jersey1.xにJSPページをロードします。

@GET
public Viewable get() {
return new Viewable("/myPage.jsp", "");
}

上記のJersey2.0の同等のコードは何ですか?

4

4 に答える 4

2

@Ankurありがとう

import org.glassfish.jersey.server.mvc.Viewable;

@Path("/")
public class MyController {

    @GET
    @Produces("text/html")
    public Response index() {
        return Response.ok(new Viewable("/index.jsp")).build();
    }

}

pom.xml

<dependency>
  <groupId>org.glassfish.jersey.ext</groupId>
   <artifactId>jersey-mvc-jsp</artifactId>
   <version>2.21</version>
</dependency>
于 2018-03-15T20:15:44.207 に答える
1

@WernerVesteråsが述べたように、これはまだJersey2.0では利用できません。

ただし、これがどうしても必要な場合はMessageBodyWriter、JSPに転送するを作成すると、回避策を実行できる可能性があります。Viewableこれが、Jersey 1.x(をViewableMessageBodyWriter解決するJSPTemplateProcessor)またはCXFRequestDispatcherProviderがJSPリダイレクトに対して行っているのと同様の方法で処理されると思います。

ただし、 JAX-RS 2.0仕様はまだドラフトであり、Jersey 2.0はマイルストーンであり、実装が変更される可能性があることに注意してください。実稼働環境で使用する場合は、代わりにJersey1.xを再検討して使用する必要があります。

于 2013-01-04T21:40:19.227 に答える
1

Jersey 2.0では、以下を使用してjspページをロードします。
<dependency>
          <groupId> org.glassfish.jersey.ext </ groupId>
           <artifactId> jersey-mvc-jsp </ artifactId>
           <version> $ {jersey2.version} </ version>
</ distribution>

コードで、モデルがjspに送信される場合は、次のように使用します
。return new Viewable( "/ index.jsp"、model);

モデルがjspに送信されない場合は、次のように使用します
。return new Viewable( "/ index.jsp"、null);
                    または
、新しいViewable( "/ index.jsp");を返します。

于 2017-08-27T15:15:01.013 に答える
0

According to http://java.net/projects/jersey/lists/dev/archive/2012-12/message/2 that feature is not yet ported to Jersey 2.0.

于 2013-01-04T20:00:49.773 に答える