一尘不染

Jersey Viewable中的JSP 2.2 EL it关键字-在哪里记录?

jsp

我发现,如果我有Viewable(球衣)将模型传递给JSP,则访问模型的方法是在map键前面加上前缀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文档中找不到任何提及。


阅读 244

收藏
2020-06-10

共1个答案

一尘不染

本文档的 17.4节中。它指出:

Jersey会将模型实例分配给名为“ it”的属性。因此,在隐式示例的情况下,可以从JSP模板引用Foo资源上的foo属性,如下所示:

<h1>${it.foo}</h1>

因此,it这只是Jersey特定的模型属性。由于它是模型属性,因此在呈现视图之前的某个时刻,它会添加到请求属性中。然后可以使用EL访问器对其进行访问${}。如果它被命名jerseyGuy,您将以方式访问它${jerseyGuy}

解析${...}表达式的EL用于将PageContext#findAttribute()属性名称解析为页面,请求,会话或应用程序上下文中的某个属性。

2020-06-10