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

JSPページが使用しているのと同じライターを使用するのoutではなく使用します。response.getWriter()

于 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 に答える