继刚接触play framework后,一些心得
我是个小菜鸟,我这些体会跟心得纯属个人观点,仅供参考,勿喷,我想记录下学习的历程,不断成长
在play2.0的框架里面 用到的最多的语言就是scala,对于习惯了java语言的我们来说 看这些语言确实是非常的别扭, 但是没办法 项目下来了 必须做
好了不废话了 下面开始写心得
简单的怎么样启动play项目跟配置我就不说了 这些在我上篇文章中就写过了
play 框架中 用到最多的或者说目前来说比较流行的引用css 就是bootstrap了。 在这样的框架里,所有的html都必须以xxx.scala.html才能被识别。每一个html文件你都可以理解成是一个类文件, 既然是类文件那么肯定是有对象,对象在哪里,就在你的java文件的引用里面就有.
上图:
在这里,我们引用了views包下面的所有html的类文件,
这样在我们给服务器发送请求的时候也就是访问http 服务器的时候,我们其实已经通过GET方法访问了我们的java文件也就是后台, 通过后台返回的数据再来渲染我们的画面,
return ok(seller_add.render(xx)); render是常用的 用来渲染画面的函数, 里面的参数由你自己设定, 这句话的意思就是 往seller_add.scala.html页面返回我的数据,
那么routes文件里是这样配置的。
意思是我们访问页面的时候通过GET 请求http服务器, 然后routes文件 通过这个GET方法找到我们的com.duomi.controllers.SellerController.add() 这个路径下的方法, 然后该方法会返回我们想要的数据, 通过render()渲染我们想要的画面.
下面要注意的就是重点, 通常来说 我们传统意义上的jsp页面都是通过 action里面的方法查询完数据库之后, 返回一个JSON串,然后通过引用一个js css 来完成我们想要的画面,
scala不同的地方在于 你画面上返回了什么样的参数, 这些参数是什么类型, 多少个参数, 那么scala.html文件里就要定义好这么多的参数,这样的参数类型.
而所传参数可以直接这样使用
在scala.html文件中 引用css样式等文件可以这样引用
在提交表单数据的时候 可以这样提交
将你所有的 <table><tr><td></td></tr></table> 里面的数据 都放在这个类似于方法体里面写
而如果想要跳转页面可以像这样
至于想在页面上弄一个输入框等输入文字, 这里给大家看一下示例:
API在这个网址 http://www.playframework.com/documentation/2.0/api/scala/views/html/helper/package.html
大家可以自己去查询.
在scala.html中 是可以直接访问我们在java文件中定义的方法的。
这里定义了一个opts变量 = xxxfineByValue().options 。 里面的OptionType 就是
对象.属性
通过配置文件 无需写SQL - - 直接获得options的值。
至于怎么样获得的,等我弄明白了我会写,因为我也是刚开始学习.如果哪位大神知道,请一定联系我,教教我。
继刚接触play framework后,一些心得的更多相关文章
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误. 问题: 创建了一个工 ...
- 刚接触js不久,自己写的banner幻灯片效果。
对于我这种菜鸟来讲,刚接触项目.叫我用插件,其实我说插件太臃肿不想用,倒不如说我是看不懂那些插件...- -(更愿意自己写点看得懂的代码,顺便也是个学习的过程) 所以自己花了些时间,自己来写了个dem ...
- 先装Net Framework 后 装 IIS的处理办法
先装IIS话,后面装Net Framework时候会自动注册 处理aspx和ashx等的处理扩展程序 先装Net Framework 后 装 IIS.扩展程序注册在命令:aspnet_regiis - ...
- cpe移植framework后,。解决问题的现有数据库
最近,该公司的业务需求,原始订单apk的形式CPE.渗透framework层.这被剥离cpe,从事相当长的一段,终于有时间来写博客,记下遇到的问题,未来. 第一个问题是,原来的apk有些事情,移植fr ...
- 安装完Framework后如何不重启系统?
在.net平台下客户端部署时,如果客户端没有安装Framework时,部署程序安装Framework后,有一个要求重启选项,当然是非强制的.如果不想出现这个提示“重启”选项,可以做如下选择: 1.启动 ...
- android 修改源码framework后如何编译【转】
本文转载自:https://blog.csdn.net/fuchengbo000/article/details/43193801 1.如果在framework/base/core/res/res下添 ...
- 刚接触HTML5应该先学哪里才好?
好吧,话不多说,直接来点干货吧! 刚接触html的小白都感觉摸不着头脑?应该怎么学习呢,其实HTML5可能对于还没有接触过的小白来说会比较的难,听起来也比较新颖.这是个什么骚东西!其实不然,这个就是构 ...
- 刚接触SkyLine的一点小收获与感触
因为刚接触Skyline不到一个星期,也怕把学习到的忘记掉,所以写一点学习到的一些皮毛的东西,赶紧记录一下,怕回头忘记 1.网上关于web端的开发非常多,也有很多牛人分享自己的经验,所以学习起来也相对 ...
- Alpha版本后的心得体会
Alpha版本后的心得体会 在我们一系列的努力之下,我们团队打造的校园互助式快递代取APP——U-Help的α版本终于能够问世了.尽管这个版本存在着这样那样的问题,但是我们还是对此抱有充足的信心.另一 ...
随机推荐
- cf C. Vasya and Robot
http://codeforces.com/contest/355/problem/C 枚举L和R相交的位置. #include <cstdio> #include <cstring ...
- STL 查找vector容器中的指定对象:find()与find_if()算法
1 从vector容器中查找指定对象:find()算法 STL的通用算法find()和find_if()可以查找指定对象,参数1,即首iterator指着开始的位置,参数2,即次iterator指着停 ...
- 数字积分法DDA(DDA(Digital Differential Analyzer)
数字积分法DDA(DDA(Digital Differential Analyzer) 数字积分法又称数字微分分析法DDA(Digital differential Analyzer),是在数字 ...
- linux下串口的阻塞和非阻塞操作
有两个可以进行控制串口阻塞性(同时控制read和write):一个是在打开串口的时候,open函数是否带O_NDELAY:第二个是可以在打开串口之后通过fcntl()函数进行控制. 阻塞的定义: 对于 ...
- Android自定义ListView的Item无法响应OnItemClick的解决办法
转: 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也 ...
- hdu 4512 吉哥系列故事——完美队形I_LCIS
题目链接 题意: 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要 求,则就是新 ...
- hibernate 对 sql server 2005 分页改进
Hibernate 可以实现分页查询 如下 Query q = session.createQuery("from Cat as c"); q.setFirstResult(100 ...
- 关于ionic的一些坑(3)
(1)对于页面中的input之类的输入框,取值的时候一般采用的是$scope.model=””的方式来取得input输入框的值,然后进行操作,但实际上在ionic里面是取不到的,取值之前必须先把inp ...
- 斐波那契数列 Php练手
数列从第三项开始,每一项都等于前两项之和. F0=0,F1=1,Fn=F(n-1)+F(n-2) 递归版和非递归版. <?php function fib($n){ $array = array ...
- 在sae配置django项目
1:使用sae开发必须有sae帐号,自己注册吧: 2:在sae上新建立一个python项目: 3:建立完成之后新建一个版本,即版本1: 4:获取svn的地址在eclipse中check下来: 5:注意 ...