我将Java与Servlet和JSP结合使用来创建基本应用程序。
我有这个基本的html文件,我称其为基本布局,它具有基本的页面结构,以及导航菜单,页眉和页脚。
我也有一个register.jsp
页面,用户可以在其中注册。
当用户点击register.jsp
网址时,如何将/register
包含在基本布局中?
当前,我使用PrintWriter
对象从Servlet中转储注册页面的html内容,并使用ajax在基础页面上动态呈现内容。但这确实是一个坏习惯。
最佳答案
是的,这确实是不好的做法。
可以轻松完成的更简单选择是将html文件转换为jsp。然后,可以在jsp中包含所需的任何其他资源。考虑以下示例:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<jsp:include flush="true" page="/templates/css.jsp"/>
<jsp:include flush="true" page="/templates/scripts.jsp"/>
</head>
<body>
<div id="container">
<div id="header">
<jsp:include flush="true" page="/templates/header.jsp"/>
<jsp:include flush="true" page="/templates/top_menu_visitor.jsp"/>
</div>
<div id="wrapper">
<jsp:include flush="true" page="/templates/top_content_visitors.jsp"/>
</div>
<div id="footer">
<jsp:include flush="true" page="/templates/footer_credits.jsp"/>
</div>
</div>
</body>
</html>
在此示例中,您有一个包含许多组件的模板页面,其中大部分在不同页面之间是通用的。这可能是您的index.jsp。对于注册jsp,您只需要像这样创建一个新的jsp页面,然后更改几个部分即可。
这是要走的路。在Java EE中,有许多框架可以使此过程自动化。
关于java - 根据url动态在另一个内部包含.jsp页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17331614/