首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型在jersey jsp中不起作用

问模型在jersey jsp中不起作用
EN

Stack Overflow用户
提问于 2016-09-19 17:42:29
回答 1查看 497关注 0票数 0

操作:

代码语言:javascript
复制
@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中

代码语言:javascript
复制
<%@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中有这样的代码:

代码语言:javascript
复制
<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}!。

EN

回答 1

Stack Overflow用户

发布于 2016-09-19 18:33:18

在这里我设法找到了副本的答案所在的文档:

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

JSP支持

Jersey为JSP页面提供了MVC支持。有一个JSP模板处理器,它将绝对模板引用解析为可处理的模板引用,这些模板引用是JSP页:如果绝对模板引用不是以".jsp“结尾,则将其附加到引用;以及

如果Servlet.getResource为附加的引用返回非空值,则返回附加的引用作为可处理的模板引用,否则返回null。

因此,如果web应用程序中存在JSP页面"/com/foo/Foo/index.jsp“,则绝对模板引用"/com/foo/Foo/index”将被解析为"/com/foo/Foo/index.jsp“。

Jersey会将模型实例分配给名为"it“的属性。因此,在隐式示例中,可以访问foo控制器上的Foo属性,如下所示:

${it.foo}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39569984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档