2010-05-18 24 views
2

即時嘗試讓控制器通過表達式語言過濾器返回視圖,但不知道如何讓球衣使用EL過濾視圖。Jersey(Jax-RS)&EL

查看與EL-標籤:

<html> 
    <title>%{msg}</title> 
</html> 

控制器:

@GET 
@Produces("text/html") 
public Response viewEventsAsHtml(){ 
    String view=null; 
    try { 
     view=getViewAsString("events"); 
    }catch(IOException e){ 
     LOG.error("unable to load view from file",e); 
     return null; 
    } 
    Response.ResponseBuilder builder=Response.ok(view, MediaType.TEXT_HTML); 
    return builder.build(); 
} 

一個如何去爲了得到控制器來替代$的一些看法{MSG}部分任意值?

+2

JSTL? [JSTL](http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/)如何進入圖片?你不是指平均JSP頁面中的EL,表達式語言,那些'$ {}'的東西嗎?或者,也許只需使用「{n}」進行「輸出格式化」,就如同使用「MessageFormat」API做什麼一樣? – BalusC 2010-05-18 12:46:39

+0

true .. EL是我感興趣的部分。所以生病的話重述這個問題......謝謝澄清。儘管能夠使用JSTL中的標籤也很好(例如:c:...和fmt:...) – fasseg 2010-05-18 12:56:03

回答

4

如果您使用的是澤西,那麼它提供了從資源返回一個可見的能力,默認情況下將會使用process jsp。

例新澤西資源

@Path("/patient") 
public class PatientResource { 
    @GET @Path("/{patientId}") @Produces(MediaType.TEXT_HTML) 
    public Viewable view(@PathParam("patientId") int patientId) { 
     return new Viewable("/patient.jsp", Integer.toString(patientId)); 
    } 
} 

例patient.jsp

<span>${it}</span> 

注:澤西你傳遞給可視對象映射爲 「它」 在JSP。

將Jersey轉發到jsp後,您只需將EL implementation添加到您的應用程序服務器或servlet容器。

+1

我知道這是一年前的事,但是你能否澄清你的意思?一個實現?你的意思是添加依賴jar。如果是這樣,那麼在導入後如何使用它? – Blaskovicz 2011-10-28 01:00:10