如何创建类似blade.php的jsp模板?

时间:2015-03-07 07:05:55

标签: java php jsp laravel-4 blade

我想创建一个类似于blade.php的jsp模板。 这是我想从JSP创建的示例页面。我在jsp模板中浏览了标签。如何使用jsp创建以下刀片模板。

default.blade.php

<!DOCTYPE html>
<html lang="en">
@include('dashboard.includes.head')
<body>
<div id="wrapper">
<div id="main-container">
<!-- BEGIN TOP NAVIGATION -->
@include('dashboard.includes.nav-top')
<!-- END TOP NAVIGATION -->
<!-- BEGIN SIDE NAVIGATION -->  
@include('dashboard.includes.nav-side')
<!-- END SIDE NAVIGATION -->
<!-- BEGIN MAIN PAGE CONTENT -->
<div id="page-wrapper">
<!-- BEGIN PAGE HEADING ROW -->
<div class="row">
<div class="col-lg-12">
<!-- BEGIN BREADCRUMB -->
@include('dashboard.includes.breadCrumb')
<!-- END BREADCRUMB --> 
<div class="page-header title">
<!-- PAGE TITLE ROW -->
@yield('pageHeader')
</div>
</div><!-- /.col-lg-12 -->
</div><!-- /.row -->
<!-- END PAGE HEADING ROW -->   
<div class="row">
<div class="col-lg-12">
<!-- START YOUR CONTENT HERE -->
@yield('pageContent')
<!-- END YOUR CONTENT HERE -->
</div>
</div>
<!-- BEGIN FOOTER CONTENT -->   
@include('dashboard.includes.footer')
<!-- END FOOTER CONTENT -->
</div><!-- /#page-wrapper -->   
<!-- END MAIN PAGE CONTENT -->
</div>
</div>
@include('dashboard.includes.scripts')
</body>
</html>

1 个答案:

答案 0 :(得分:1)

在这方面,JSP与PHP类似,任何在那里并没有特殊含义的内容都按字面打印。因此,大多数文件应该按原样复制到JSP。我在控制语句中看到两种类型:@include和@yield。

关于@include:在JSP中你有两种做法包括:&lt;%@ include ...&gt;和&lt; jsp:include&gt;。第一个包含静态,所以它好像包含的文件确实位于包含的位置。第二个包括动态,即通过内部HTTP请求。两者都有优点和缺点。第一个版本具有最佳性能,但您不能使用递归包含。细节在别处解释,查阅一些教程或阅读StackOverflow,例如在这里:https://www.tutorialspoint.com/jsp/include_directive.htm和此处:Include another JSP file

关于@yield:由于我不了解刀片,我只能猜测它的作用,但它似乎根据来自其他来源的一些数据呈现页面的某些部分。根据您正在使用的框架,事情开始的地方。如果它是一个普通的JSP(现在几乎不再使用),你可以创建一个为你提供值的bean。有关详细信息,请查看此处的示例:https://www.javatpoint.com/jsp-useBean-action。 如果您正在处理某个框架,那么您应该阅读他们的文档,了解如何创建所谓的模型(https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)以及如何从JSP中访问它。例如,在Spring-MVC中,您可以将Java对象保存在模型中,您可以使用Model或ModelMap类型参数将其注入请求处理程序。然后可以使用$ {nameofmodelattribute}或$ {nameofmodelattribute.property}从JSP访问这些值。在此处查看控制器示例并进一步阅读:https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-controller

如果您提供有关正在使用的Java框架的更多细节,也许有人可以帮助您更详细地回答您的问题。一般而言,围绕JSP的任何事情都有很多资源。 既然您似乎是初学者,我建议您使用您选择的基于Java的MVC框架开始教程,并从他们的工作示例开始,您可以开始添加自己的代码,而不是公开询问如何转换你的模板。