2016-09-19 61 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}