JSP中的疑问:包含

时间:2010-03-22 15:51:33

标签: jsp

我添加了一个代码,其中包含使用jsp:include的子jsp。我面临的问题是子代码中存在的代码没有执行。下面是我现在使用它的代码

JSPF文件:

       <jsp:include page="X.jsp" flush="true">
   </jsp:include>

上面的代码存在于一个名为“A.jspf”的文件中,该文件包含在另一个名为“Parent.jsp”的jsp文件中。

X.jsp:

      <%@ page import="java.util.*" %>
      <%
         System.out.println("********Child JSP");
       %>

每当我执行父文件“Parent.jsp”时,除了X.jsp中存在的内容外,Parent.jsp和A.jspf中给出的所有其他内容都会显示。没有显示错误。 X.jsp和A.jspf都只出现在同一个文件夹中。请帮我解决这个问题。提前谢谢。

4 个答案:

答案 0 :(得分:1)

如果您希望字符串显示在客户端的浏览器中,则应使用此字符串:

<%@ page import="java.util.*" %>
<%
    out.println("********Child JSP");
%>

System.out.println()将在您的web服务器控制台中输出字符串,而out.println()将使用JSP的隐式“out”对象来表示http响应的输出流 - 因此正确输出给定的String网页。

答案 1 :(得分:0)

在你的孩子jsp中尝试这个:

<%="********Child JSP"%>

使用&lt;%= ..%&gt;在jsp上打印的详细标签。

查看this卡片以获取快速参考。

答案 2 :(得分:0)

如果要修改子JSP,请修改父JSP一次并保存。它可能与添加/删除空间一样简单。这导致servlet再次构建。

当您在静态包含中进行更改时,在重新编译父jsp之前,它不会反映出来。

答案 3 :(得分:0)

<%@ page import="java.util.*" %> <% System.out.println("Child JSP"); %>

如果你运行上面的例子,你会注意到服务器日志中“System.out.prinltn”的输出。本身一个scriplet不会生成HTML。如果我们想要的话,使用scriplet为了生成HTML,我们可以使用一个名为“out”的变量 .NO需要声明变量,因为它已经被声明。已经为scriplet预定了它和其他一些变量。

以下示例显示了scriplet如何生成HTML输出。

<%@ page import="java.util.*" %> <% out.println("Child JSP"); %>

out 是一个指向名为 javax.servlet.jsp.JSPWriter;

的类对象的引用