如何将一个html块插入到一个java servlet中

时间:2011-03-23 08:54:22

标签: java html jsp servlets java-ee

我在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&amp;up_kml_url=https%3A%2F%2Fwebfiles.colorado.edu%2Fwww%2FLSF%2520DB%2520Placemarks5.kmz&amp;up_tour_index=1&amp;up_tour_autoplay=1&amp;up_show_navcontrols=1&amp;up_show_buildings=1&amp;up_show_terrain=1&amp;up_show_roads=0&amp;up_show_borders=1&amp;up_sphere=earth&amp;synd=open&amp;w=700&amp;h=600&amp;title=Embedded+Tour+Player&amp;border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&amp;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));

}

5 个答案:

答案 0 :(得分:3)

如果你有一个servlet,那么我想到的最容易的事情如下:

public void doGet(HttpServletRequest request,
                  HttpServletResponse response)
       throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("put your snippet here");
}

本质:

    在您的servlet中
  • ,您需要从PrintWriter方法

  • 中作为参数收到的response对象中获取doGet()
  • 您在PrintWriter上打印的所有内容都将发送到浏览器

警告:小心不要弄乱你的servlet已经发送到浏览器的内容。


在看到您添加到问题中的代码后,我认为您可以在行

之后添加代码段
out.write(HtmlConsts.BODY_OPEN);

添加

out.write("<script src="http://www.gmodules.com/ig/ifr?url=http://code.google.com/apis/kml/embed/tourgadget.xml&amp;up_kml_url=https%3A%2F%2Fwebfiles.colorado.edu%2Fwww%2FLSF%2520DB%2520Placemarks5.kmz&amp;up_tour_index=1&amp;up_tour_autoplay=1&amp;up_show_navcontrols=1&amp;up_show_buildings=1&amp;up_show_terrain=1&amp;up_show_roads=0&amp;up_show_borders=1&amp;up_sphere=earth&amp;synd=open&amp;w=700&amp;h=600&amp;title=Embedded+Tour+Player&amp;border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&amp;output=js"></script>")

答案 1 :(得分:2)

我建议你使用jsp进行查看。使用servlet作为控制器

另见

答案 2 :(得分:2)

另一种方法是使用请求调度程序

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("Included HTML block:");
    request.getRequestDispatcher("/pathToFile/block.html").include(request, response); 
    out.close();

答案 3 :(得分:0)

关闭脚本代码...使用%&gt; 那么你可以用简单的html写任何你想要的东西

然后再次打开脚本标记 &LT;%

应该是它

答案 4 :(得分:0)

我不确定这是不是你想要的。我在java EE doPost块中使用它。 或者你可以使用它作为你所寻找的等效语法的参考。

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.print("<html>");
    out.print("<head>");
    out.print("<title>");
    out.print("</title>");
    out.print("<h1>view accounts</h1>");
    out.print("</head>");