2010-12-03 30 views
9

我想弄清楚如何最有效地重用JSP代码。 我爱的方式的Rails /该局工作在这样...与产量,布局,content_forJSP,它可以工作类似于良率,布局,content_for在Ruby/Rails/Erb

例子:

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> 

in controller

layout "main_layout" 

与JSP最接近的是什么(不使用额外的框架)?我对JSP的了解很多,但这与收益率并不相同。 有什么建议吗?

感谢

+1

JSP对ERB没有任何帮助。它只是为您提供一些自定义标签,并允许您与模型对象进行交互。就我而言,您可以通过返回JSON对象并执行JavaScript部件来利用更多功能。 – Samo 2010-12-03 17:56:44

+0

另一个伟大的JSP标记文件的答案是https://stackoverflow.com/a/3257426/37572 – 2018-03-08 21:13:52

回答

17

我不熟悉的东西yieldcontent_for提供,但JSP tag files让你一个更可靠的方法模板页面比JSP包括。

例子:

layout.tag

<%@ 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> 

刚刚发生在/ WEB-INF/tags目录的layout.tag。您可以使用任何可用的前缀,我只是使用“z”作为示例。

相关问题