在另一个JSP文件中包含JSP文件

时间:2012-11-22 15:42:14

标签: java jsp spring-mvc wizard

我正在编写一个向导,用于在Spring MVC的应用程序中创建用户。在每一步,控制器都将为完成的向导字段设置会话属性。

我希望向导看起来一样,无论它在哪个页面上,显然除了每个页面的字段。例如,页面顶部的菜单和链接以及底部的按钮应保持不变。

我有以下JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Create a new User</title>
    </head>

    <body>
        <h1>User Creation Wizard</h1>
        Step <c:out value = "${pageNum}"/>/<c:out value = "${pageMax}"/>

        <form action="" method="POST">
            <jsp:include page="userform${pageView}.jsp"/>

            <input name = "currentPage" type = "hidden" value = "${pageNum}"/>
            <c:if test = "${pageNum > 1}">
                <input name = "prev" type = "submit" value = "Previous" />
            </c:if>

            <c:if test = "${pageNum < pageMax}">
                <input name = "next" type = "submit" value = "Next" />
            </c:if>

            <c:if test = "${pageNum == pageMax}">
                <input name = "submit" type = "submit" value = "Finish" />
            </c:if>
        </form>
    </body>
</html>

在我要包含的jsp中,是否需要删除<html><head><body>标记?以上代码基于this example

1 个答案:

答案 0 :(得分:1)

是的,您需要从包含的JSP文件中删除<html><head><body>标记。由于它们已经存在于包含文件中,因此保留它们会导致HTML无效。

只有您想要改变的内容才会包含在您所包含的JSP文件中。其他所有内容(包括必要的<html><head><body>标记都将位于执行包含的JSP文件中。