gpt4 book ai didi

java - JSP,能不能像Ruby/Rails/Erb中的yield, layout, content_for一样工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:46 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何最有效地重用 JSP 代码。我喜欢 Rails/erb 的工作方式……有 yield、layout、content_for

例子:

main_layout.erb.html

<html>
<head><%= yield :head %></head>
<body><%= yield %></body>
</html>

使用

<% content_for :head do %>
<title>A simple page</title>
<% end %>

<p>Hello, Rails!</p>

在 Controller 中

layout "main_layout"

使用 JSP(不使用额外的框架)我最接近的是什么?我知道 JSP include,但这与 yield 并不完全相同。有什么建议吗?

谢谢

最佳答案

我不熟悉 yieldcontent_for 提供的内容,但是 JSP tag files允许您使用比 JSP 包含的更强大的方式来模板化页面。

示例:

布局标签

<%@ tag body-content="scriptless" %>
<%@ attribute name="pageTitle" required="true" type="java.lang.String" %>

<html>
<head>
<title>${pageTitle}</title>
</head>
<body>
<jsp:doBody/>
</body>
</html>

一个单独的 JSP

<%@ taglib prefix="z" tagdir="/WEB-INF/tags" %>
<z:layout pageTitle="A simple page">
<p>Hello, JSP!</p>
</z:layout>

只需将您的 layout.tag 放在/WEB-INF/tags 目录中。您可以使用任何您想要的可用前缀,我只是在示例中使用了“z”。

关于java - JSP,能不能像Ruby/Rails/Erb中的yield, layout, content_for一样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com