0

我在 Eclipse Indigo 中使用 Google App Engine 编写了以下 jsp 示例页面:

<html>
<head>
</head>
<body>    
<% response.getWriter().println("<h1><a href=\"VotingMainPage.jsp\">  Hello World <br></a></h1>"); %>
</body>
</html>

令我困惑的是,本地浏览器的输出是:

<h1><a href="VotingMainPage.jsp">  Hello World <br></a></h1>

<html>
<head>
</head>
<body>          
</body>
</html>

java代码生成的文本在静态html之前,虽然在页面中它在静态代码里面。

我必须做什么,才能按照我在代码中的顺序将内容打印到响应中?

4

2 回答 2

1

使用out而不是response.getWriter()使用 JSP 页面正在使用的同一个编写器。

于 2012-05-10T15:16:26.643 回答
1

如果您使用的是小脚本,那么这将完成这项工作。

<html>
<head>
</head>
<body>    
<%= "<h1><a href=\"VotingMainPage.jsp\">  Hello World <br></a></h1>" %>
</body>
</html>

但是你最好使用 JSTL。


您的代码不起作用的原因是 GAE 的 JSP 编译器显然将 JSPWriter 包装在某种缓冲写入器中。当您直接使用写入器时,您的输出实际上“超过”了 JSP 写入缓冲写入器的内容。

于 2012-05-10T14:50:42.033 回答