2016-09-19 41 views
0

操作:模型球衣JSP不工作

@GET 
@Path("/test") 
@Produces("text/html") 
public Response test() 
{ 
    Map<String, Object> map = new HashMap<>(); 
    map.put("name", "pedja1"); 
    return Response.ok(new Viewable("/test", map)).build(); 
} 

test.jsp的:
它在文件夾webapp/WEB-INF/jsp

<%@page contentType="text/html"%> 
<%@page pageEncoding="UTF-8"%> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Test</title> 
</head> 
<body> 
<h1>Hi ${model.name}!</h1> 

</body> 
</html> 

我有這個在web.xml

<init-param> 
     <param-name>jersey.config.server.mvc.templateBasePath.jsp</param-name> 
     <param-value>/WEB-INF/jsp</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jersey.config.server.provider.classnames</param-name> 
     <param-value>org.glassfish.jersey.server.mvc.jsp.JspMvcFeature</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jersey.config.servlet.filter.staticContentRegex</param-name> 
     <param-value>/(resources|(WEB-INF/jsp))/.*</param-value> 
    </init-param> 

頁獲得加載但它打印Hi ${model.name}!

+0

在[JSP 2.2 EL它關鍵字的可能的複製澤西島可視 - 在哪裏記錄?](http://stackoverflow.com/questions/17076829/jsp-2-2-el-it-keyword-in-jersey-viewable-where-is-it-documented) – AxelH

回答

0

在這裏,我設法找到其中重複的答案來自於DOC:

https://blogs.oracle.com/sandoz/entry/mvcj

JSP支持

新澤西州提供JSP頁面MVC支持。有一個JSP模板 處理器,它將絕對模板引用解析爲可處理的 作爲JSP頁面的模板引用,如下所示: 如果絕對 模板引用未以「.jsp」結尾,則將其附加到引用; 和

如果Servlet.getResource返回所附 參照一個非空值,則返回所附參考作爲可加工 模板參考否則返回null。

因此絕對模板參考「/ COM /富/富/索引」將是 決心「/com/foo/Foo/index.jsp」如果存在 JSP頁面「/ COM /富/富/index.jsp「在web應用程序中。

澤西將分配模型實例到名爲「它」的屬性。所以 在隱式例的情況下,能夠訪問的Foo控制器上的FOO 屬性如下:

$ {it.foo}