如何将 html 块插入到 java servlet 中
我在 eclipse 中为现有的 appengine 站点摆弄一些 java 源代码。我想要获取现有页面之一来显示谷歌地球插件小程序。
我有一个可以在 html 文件中运行的小片段,但我不知道如何让 servlet 将其放入它生成的 html 中。
我并不是真正的编码员,所以我需要一些关于如何使用 java 来完成这项工作的非常简洁的说明。
<script src="http://www.gmodules.com/ig/ifr?url=http://code.google.com/apis/kml/embed/tourgadget.xml&up_kml_url=https%3A%2F%2Fwebfiles.colorado.edu%2Fwww%2FLSF%2520DB%2520Placemarks5.kmz&up_tour_index=1&up_tour_autoplay=1&up_show_navcontrols=1&up_show_buildings=1&up_show_terrain=1&up_show_roads=0&up_show_borders=1&up_sphere=earth&synd=open&w=700&h=600&title=Embedded+Tour+Player&border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&output=js"></script>
===
protected void beginBasicHtmlResponse(String pageName, String headContent, HttpServletResponse resp,
HttpServletRequest req, boolean displayLinks) throws IOException {
resp.addHeader(HOST_HEADER, getServerURL(req));
resp.setContentType(ServletConsts.RESP_TYPE_HTML);
resp.setCharacterEncoding(ServletConsts.ENCODE_SCHEME);
PrintWriter out = resp.getWriter();
out.write(HtmlConsts.HTML_OPEN);
out.write("<link rel=\"icon\" type=\"image/png\" href=\"/odk_color.png\">");
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.HEAD, headContent + HtmlUtil.wrapWithHtmlTags(
HtmlConsts.TITLE, BasicConsts.APPLICATION_NAME)));
out.write(HtmlConsts.BODY_OPEN);
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.H2, "<FONT COLOR=330066 size=0><img src='/odk_color.png'/>" + HtmlConsts.SPACE + BasicConsts.APPLICATION_NAME) + "</FONT>");
if (displayLinks) {
UserService userService = UserServiceFactory.getUserService();
out.write(generateNavigationInfo());
out.write(HtmlConsts.TAB + HtmlConsts.TAB);
out.write(HtmlUtil.createHref(userService.createLogoutURL("/"), "Log Out from "
+ userService.getCurrentUser().getNickname()));
out.write(HtmlConsts.TAB + "<FONT SIZE=1>" + ServletConsts.VERSION + "</FONT>");
}
out.write(HtmlConsts.LINE_BREAK + HtmlConsts.LINE_BREAK);
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.H1, pageName));
}
I'm messing around with some java source in eclipse for an existing appengine site. I want to get one of the existing pages to show a google earth plugin applet.
I have this little snippet that works in an html file but I cant figure out how to get the servlet to put this into the html that it generates.
I am not really a coder so I need some pretty consice instructions on how to get java to make this work.
<script src="http://www.gmodules.com/ig/ifr?url=http://code.google.com/apis/kml/embed/tourgadget.xml&up_kml_url=https%3A%2F%2Fwebfiles.colorado.edu%2Fwww%2FLSF%2520DB%2520Placemarks5.kmz&up_tour_index=1&up_tour_autoplay=1&up_show_navcontrols=1&up_show_buildings=1&up_show_terrain=1&up_show_roads=0&up_show_borders=1&up_sphere=earth&synd=open&w=700&h=600&title=Embedded+Tour+Player&border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&output=js"></script>
===
protected void beginBasicHtmlResponse(String pageName, String headContent, HttpServletResponse resp,
HttpServletRequest req, boolean displayLinks) throws IOException {
resp.addHeader(HOST_HEADER, getServerURL(req));
resp.setContentType(ServletConsts.RESP_TYPE_HTML);
resp.setCharacterEncoding(ServletConsts.ENCODE_SCHEME);
PrintWriter out = resp.getWriter();
out.write(HtmlConsts.HTML_OPEN);
out.write("<link rel=\"icon\" type=\"image/png\" href=\"/odk_color.png\">");
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.HEAD, headContent + HtmlUtil.wrapWithHtmlTags(
HtmlConsts.TITLE, BasicConsts.APPLICATION_NAME)));
out.write(HtmlConsts.BODY_OPEN);
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.H2, "<FONT COLOR=330066 size=0><img src='/odk_color.png'/>" + HtmlConsts.SPACE + BasicConsts.APPLICATION_NAME) + "</FONT>");
if (displayLinks) {
UserService userService = UserServiceFactory.getUserService();
out.write(generateNavigationInfo());
out.write(HtmlConsts.TAB + HtmlConsts.TAB);
out.write(HtmlUtil.createHref(userService.createLogoutURL("/"), "Log Out from "
+ userService.getCurrentUser().getNickname()));
out.write(HtmlConsts.TAB + "<FONT SIZE=1>" + ServletConsts.VERSION + "</FONT>");
}
out.write(HtmlConsts.LINE_BREAK + HtmlConsts.LINE_BREAK);
out.write(HtmlUtil.wrapWithHtmlTags(HtmlConsts.H1, pageName));
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
另一种方法是使用请求调度程序:
Yet another method would be using Request Dispatcher:
我建议您使用jsp进行查看。使用 Servlet 作为控制器
另请参阅
I would recommend you to use jsp for view. Use servlet as just controller
See Also
如果您有一个 servlet,那么我想到的最简单的事情如下:
本质上:
在您的 servlet 中,您需要从
response
中获取PrintWriter
Servlet 中的doGet()
方法中作为参数接收的对象,
您在
PrintWriter
上打印的所有内容都将发送到浏览器警告:小心不要弄乱 servlet 已经发送到浏览器的内容。
看到您添加到问题中的代码后,我认为您可以
通过添加在该行后面添加您的代码片段
If you have a servlet, then the easiest thing that comes to my mind is the following:
Essentially:
in your servlet you need to get a
PrintWriter
from theresponse
object that you receive as parameter in thedoGet()
methodeverything you print on that
PrintWriter
will be sent to the browserWarning: be careful at not messing up what your servlet is already sending to the browser.
After seeing the code you added to your question, I think you can add your snippet after the line
by adding
使用 %> 关闭脚本代码...
然后你可以在纯 html 中编写你想要的任何内容
,然后再次打开脚本标签
<%
应该是这样
close the scripting code... with %>
then you can write anything you want in plain html
and after that open the scripting tag again
<%
that should be it
我不确定这是否是您要找的。我在 java EE doPost 块中使用它。
或者也许您可以使用它作为您所寻找的等效语法的参考。
I'm not sure if this is what your looking for. i use this in java EE doPost block.
or perhaps u can use this as reference for the equivalent syntax to what your looking for.