1

我发现如果我有一个Viewable(球衣)将模型传递给 JSP,那么访问它的方法是在映射键前面加上it

例如

索引.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以及它来自哪里,是泽西岛特有的吗?如果是这样,它在哪里记录(很难搜索“它”,因为谷歌倾向于从搜索中删除它,没有双关语的意思)

在 Java EE 文档中找不到任何提及它的内容。

4

1 回答 1

4

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

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

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

it只是泽西特定的模型属性。因为它是一个模型属性,在视图被渲染之前的某个时刻,它被添加到请求属性中。然后可以使用 EL 访问器访问它${}。如果它被命名jerseyGuy,您将访问它作为${jerseyGuy}.

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

于 2013-06-12T23:09:18.837 回答