当前位置: 首页 > news >正文

机械建设网站/可以免费发广告的网站

机械建设网站,可以免费发广告的网站,领域网站建设,哪里有做网站作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在上一章节中,我把字符串通过ok()返回给客户。我可以把一个完整的html页面放入字符串中返回。然而,现代的框架都提供了更…

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

在上一章节中,我把字符串通过ok()返回给客户。我可以把一个完整的html页面放入字符串中返回。然而,现代的框架都提供了更好的方法——模板。模板将视图和数据分开。服务器可以把不同的数据传递给同一个模板,从而产生不同的页面。 Play同样也有一套模板系统。模板的大部分内容都可以用html写,作为视图,而在一些特别的地方,预留给数据参数。在模板中,用Scala语言来调用参数。

 

使用模板

我首先创建一个模板,纯粹起视图功能。在app/views文件夹中,新建文件index.scala.html (如果已有,则删除并重新创建)。

<!DOCTYPE html>
<html><header><title>Play</title></header><body><p>Hello World! Start using the Template.</p></body>
</html>

这个模板是个纯粹的html文件,是最简单的模板形式。

 

修改app/controllers/Application.java:

package controllers;import play.*;
import play.mvc.*;public class Application extends Controller {public static Result index() {return ok(views.html.index.render());}
}

ok()中接收的是views.html.index.render(),实际上就是app/views/index.scala.html这一模板的render()方法。Play会根据模板,自动生成相应的类。

*** 也可以用import引入views.html.index,而不是使用完整的类路径。

 

访问页面:

模板语言

这一部分,我把对象作为参数传给模板,然后在模板中显示对象中包含的数据。修改index.scala.html:

@(title: String, content: String)<!DOCTYPE html>
<html><header><title>@title</title></header><body><p>@(content) Start using the template.</p></body>
</html>

上面的第一行,以@符号开头,说明了该模板所接收的两个参数,即String类型的title和content。在模板中,用@符号和参数名,来调用参数。参数名周围可以用括号"()",以区分正文。

 

修改动作:

public static Result index() {return ok(views.html.index.render("Play", "Hello World! Parameters passed. "));
}

这里传递两个字符串给模板。最终显示的结果中,两个字符串将填充在模板中的适当位置。

 

 

上面把一个对象传递给模板。我们还可以在模板中调用对象的属性或方法:

@object.method()

@object.field

 

模板控制

我还可以用Scala的语法,在模板中实现更复杂的逻辑。比如下面的模板中使用循环

@(title: String, content: String, lines: List[String])<!DOCTYPE html>
<html><header><title>@title</title></header><body><p>@(content) Start using the template.</p><ul>@for(line <- lines) {<li>@line</li>}</ul></body>
</html>

循环是@for实现的。@后面不仅可以是一个对象,还可以是一个完整的Scala语法。

 

修改动作,把一个字符串类型的表作为参数传递给模板:

package controllers;import play.*;
import play.mvc.*;import java.util.List;
import java.util.ArrayList;public class Application extends Controller {public static Result index() {List<String> lines = new ArrayList<String>();lines.add("a");lines.add("b");lines.add("c");return ok(views.html.index.render("Play", "Hello World!", lines));}
}

得到下面的页面:

 

模板中还可以有if选择结构,比如

@if(item) {<p>True</p>
} else {<p>False</p>
}

根据参数item的真假,if结构显示不同的内容。

 

其它

@* *@中加入注释

由于@的特殊功能,为了在模板中显示"@"字符,需要使用@@

 

总结

模板

render()

@

 

欢迎继续阅读“Java快速教程”系列文章

转载于:https://www.cnblogs.com/vamei/p/3708605.html

http://www.lbrq.cn/news/1551493.html

相关文章:

  • 做手机网站优/引擎搜索有哪些
  • 没有服务器怎么先做网站/推广app赚佣金
  • 广告在什么网站做/有趣的软文
  • 谁做的怀来吧网站/营销网站系统
  • 山东做网站找谁/今日疫情最新消息
  • wordpress插件怎么安/seo的搜索排名影响因素有
  • 再网站里做商家店铺/seo软件推广哪个好
  • 网站目录结构说明/个人网站模板建站
  • 建设部招投标网站/太原竞价托管公司推荐
  • 中山网站建设优化/小程序平台
  • 网站上的图片做多大/提高工作效率的软件
  • 企业网站建设的必要性/河南靠谱seo地址
  • 广东网站建设报价官网/电商运营
  • 有很多长尾怎么做网站内容/舆情危机公关公司
  • 设计类的网站/网络推广项目代理
  • jsp动态网站开发与实例/百度一下百度首页官网
  • 模板网站建设教程视频教程/免费seo网站诊断免费
  • axure做网站简单吗/做关键词推广
  • 网站后期维护需要注意什么/谷歌浏览器下载安装(手机安卓版)
  • 新疆建设云网站成绩查询/今日全国疫情最新消息
  • 上海特种作业操作证查询/如何优化网站推广
  • dw cs4怎么做网站/山西网页制作
  • 动态型网站建设哪里便宜/北京seoqq群
  • 企业网站建/seo工资
  • 网站开发进度设计/优化网站找哪家
  • python做博客网站/淘宝店铺转让价格表
  • 泰安信息港房产网/福州seo按天付费
  • 瀑布式网站/广告搜索引擎
  • 专业展示设计网站/it培训课程
  • 网站建设方案书 个人/企业网站怎么优化
  • 问答社区运营优化:cpolar 提升 Answer 平台远程访问速度方案
  • 【redis、ruoyi-vue】基于ruoyi-vue实现数据redis的增删改查
  • [python学习记录2]变量
  • ​​Vue 3 开发速成手册
  • Java基础面试题(3)—Java(String字符串的存储方式,字面量)
  • geekbench riscv镜像下载