我发现,如果我有Viewable(球衣)将模型传递给JSP,则访问模型的方法是在map键前面加上前缀it
Viewable
it
例如
index.jsp
<html> <body> <h2>Hello World ${it.foo}!</h2> </body> </html>
JAX-RS资源方法:
@GET @Path("index") public Viewable index(@Context HttpServletRequest request) { System.out.println("/INDEX called"); HashMap<String, String> model = new HashMap<String, String>(); model.put("foo","bar"); return new Viewable("/index.jsp", model); }
我基于此资源:http : //blog.usul.org/using-jsp-in-a-jersey-jax-rs-restful- application/
但我想知道,it它是什么以及它来自哪里,它是专门针对泽西岛的吗?如果是,则在哪里记录下来(很难搜索“它”,因为Google倾向于将其从搜索中删除,这不是双关语)
在Java EE文档中找不到任何提及。
在本文档的 17.4节中。它指出:
Jersey会将模型实例分配给名为“ it”的属性。因此,在隐式示例的情况下,可以从JSP模板引用Foo资源上的foo属性,如下所示: <h1>${it.foo}</h1>
Jersey会将模型实例分配给名为“ it”的属性。因此,在隐式示例的情况下,可以从JSP模板引用Foo资源上的foo属性,如下所示:
<h1>${it.foo}</h1>
因此,it这只是Jersey特定的模型属性。由于它是模型属性,因此在呈现视图之前的某个时刻,它会添加到请求属性中。然后可以使用EL访问器对其进行访问${}。如果它被命名jerseyGuy,您将以方式访问它${jerseyGuy}。
${}
jerseyGuy
${jerseyGuy}
解析${...}表达式的EL用于将PageContext#findAttribute()属性名称解析为页面,请求,会话或应用程序上下文中的某个属性。
${...}
PageContext#findAttribute()