JSP,它可以像Ruby/Rails/Erb中的yield、layout、content_for一样工作吗
我试图找出如何最有效地重用 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>
在控制器中
layout "main_layout"
使用 JSP(不使用额外的框架)我能达到的最接近的是什么?我知道 JSP include 但这与yield 并不完全相同。 有什么建议吗?
谢谢
I am trying to figure out how to most effectively reuse JSP code.
I love the way Rails/erb works in that way ... with yield, layout, content_for
Example:
main_layout.erb.html
<html>
<head><%= yield :head %></head>
<body><%= yield %></body>
</html>
use
<% content_for :head do %>
<title>A simple page</title>
<% end %>
<p>Hello, Rails!</p>
in controller
layout "main_layout"
What is the closest I can get to this with JSP (without using extra frameworks)? I know about JSP include but that's not really the same as yield.
Any suggestions?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不熟悉
yield
和content_for
提供的内容,但是 JSP 标记文件 允许您使用比 JSP 包含的更强大的模板页面方式。示例:
layout.tag
单个 JSP
只需将您的layout.tag 放在/WEB-INF/tags 目录中即可。您可以使用任何可用的前缀,我仅使用“z”作为示例。
I'm not familiar with what
yield
andcontent_for
provide, but JSP tag files allow you a more robust way to template pages than JSP includes.Example:
layout.tag
An individual JSP
Just place your layout.tag in the /WEB-INF/tags directory. You can use any available prefix you want, I just used "z" for the example.
虽然您提到不希望在普通 jsp 之上使用任何框架,但 布局 功能href="http://stripesframework.org" rel="nofollow">Stripes Framework 几乎完全符合您的要求。
While you mentioned wanting no frameworks on top of stock jsp, the Layout functionality of the Stripes Framework does pretty much exactly what you're asking for.