com.sun.jersey.api.view.Viewable
次に使用して、Jersey1.xにJSPページをロードします。
@GET
public Viewable get() {
return new Viewable("/myPage.jsp", "");
}
上記のJersey2.0の同等のコードは何ですか?
@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>
@WernerVesteråsが述べたように、これはまだJersey2.0では利用できません。
ただし、これがどうしても必要な場合はMessageBodyWriter
、JSPに転送するを作成すると、回避策を実行できる可能性があります。Viewable
これが、Jersey 1.x(をViewableMessageBodyWriter
解決するJSPTemplateProcessor
)またはCXFRequestDispatcherProvider
がJSPリダイレクトに対して行っているのと同様の方法で処理されると思います。
ただし、 JAX-RS 2.0仕様はまだドラフトであり、Jersey 2.0はマイルストーンであり、実装が変更される可能性があることに注意してください。実稼働環境で使用する場合は、代わりにJersey1.xを再検討して使用する必要があります。
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");を返します。
According to http://java.net/projects/jersey/lists/dev/archive/2012-12/message/2 that feature is not yet ported to Jersey 2.0.