2013-01-04 106 views
1

我們使用com.sun.jersey.api.view.Viewable加載新澤西1.x的JSP頁面,例如:使用澤西2.0 JSP

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

什麼是上述在澤西島2.0等價代碼?

+0

球衣2.0不在jsr311下,但在jsr339下看到:http://www.jcp.org/en/jsr/detail?id=339 –

+0

當然,但我不能把jsr339作爲標籤,它不是但在Stackoverflow創建作爲標記:-) – siva636

+1

我剛剛創建了'jsr339'標記 – yegor256

回答

1

正如@WernerVesterås所提到的,這在澤西島2.0還沒有提供。

如果您絕對需要這個,但是如果您編寫轉發到JSP的MessageBodyWriter,則可能會得到一個解決方法。我認爲這就是在Jersey 1.x中處理Viewable的方式(ViewableMessageBodyWriter解析JSPTemplateProcessor)或類似於CXF的RequestDispatcherProvider爲JSP重定向所做的操作。

請注意,雖然JAX-RS 2.0 spec is still a draftJersey 2.0 is still a milestone,並因此受到實施更改。如果你打算在生產環境中使用它,你應該重新考慮並堅持使用Jersey 1.x。

0

在Jersey 2.0中,使用下面的代碼來加載jsp頁面。
<依賴性>
            <的groupId > org.glassfish.jersey.ext < /的groupId >
            <的artifactId >球衣-MVC-JSP </artifactId的>
            <版本> $ {} jersey2.version < /版本>
< /依賴性>

在你的代碼,如果 模型被髮送到JSP,使用這樣的:
回報新可視(「/ index.jsp」,模型);

如果沒有模型被髮送到JSP,使用這樣的:
回報新可視( 「/ index.jsp的」,NULL);
                        OR
回報新可視( 「/ index.jsp的」);