Rya*_*yan 31 java django templates jsp
来自Django的背景,我经常使用"模板继承",其中多个模板从公共基础继承.在JSP中有一种简单的方法吗?如果没有,是否有一个替代JSP来做到这一点(除了Jython上的Django :)
<html>
<body>
{% block content %}
{% endblock %}
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
{% extends "base template" %}
{% block content %}
<h1>{{ content.title }} <-- Fills in a variable</h1>
{{ content.body }} <-- Fills in another variable
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
将呈现如下(假设conten.title是"Insert Title Here",而content.body是"Insert Body Here")
<html>
<body>
<h1>Insert title Here <-- Fills in a variable</h1>
Insert Body Here <-- Fills in another variable
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
Ben*_*ngs 19
您可以使用JSP标记文件执行类似的操作.创建自己的page.tag包含页面结构.然后使用<jsp:body/>标签插入内容.
小智 12
您可以使用rapid-framework进行JSP模板继承
base.jsp
%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>
<html>
<head>
<rapid:block name="head">
base_head_content
</rapid:block>
</head>
<body>
<br />
<rapid:block name="content">
base_body_content
</rapid:block>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
child.jsp
<%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>
<rapid:override name="content">
<div>
<h2>Entry one</h2>
<p>This is my first entry.</p>
</div>
</rapid:override>
<!-- extends from base.jsp or <jsp:include page="base.jsp"> -->
<%@ include file="base.jsp" %>
Run Code Online (Sandbox Code Playgroud)
产量
<html>
<head>
base_head_content
</head>
<body>
<br />
<div>
<h2>Entry one</h2>
<p>This is my first entry.</p>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
源代码