打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Play framework 技巧记录

Play framework 技巧记录(原创)  

2010-11-17 11:04:05|  分类: 程序、电脑 |  标签:原创  framework  play  global   |字号 订阅

  • 升级Play1.2后,原来的waitFor方法不建议使用了,等待任务这块代码似乎更简洁了,用await基本能搞定大部分的事,具体参考:
  • 升级Play1.2后,可能会遇到某些字如“公”、“者”等在页面上显示为问号的中文乱码问题。
    • 这个已经在最新的代码中修改了,急用的话,可以git下载最新的master版本编译后使用。目前1.2.1版本已经修复了这个问题。
    • 同时在windows系统中的cmd窗口里,控制台输出的中文也可能是乱码,这个可能是因为我们使用的Windows的cmd默认编码不是UTF-8,而是GBK吧,还没找到好办法解决。
  • 当在Windows开发后转到Linux下时会出现的问题:
    • MySQL表名字段大小写问题的解决办法:
      1. linux的服务器上,修改/etc/my.cnf,在[mysqld]段加上:
          lower_case_table_names=1
      2. 再运行建表sql脚本。
      3. 这样将始终采用小写的表名。当这个值设为0时则为大小写敏感。
  • 开发或产品的日志log如何设置?
  • Play的模板机制
    • 在Controller中尽量使用 render()自动判断, 系统会根据请求的不同来返回不同的格式,有 *.html,有 *.json,甚至还可以是 *.xml,只需在相应的view目录中写好相应的*.html、*.json、*.xml 同名模板。
  • 如何重载一个CRUD的界面?
  • Play官方网站访问不了了怎么办?
    • 2010年11月23日发生了这么一次。
    • 你可以在本地查看Play的文档,在Play的安装目录里有API等文档。
    • 另外你需要下载的话,可以去这个http://download.playframework.org/ 地址,因为它在另一台服务器上。
  • 如何自定义一个Check验证的注释功能?
  • 如何在项目全局使用一个字串或设置?
    • 在application.conf文件中添加一项,如:global.set01=SET01;
    • 在java程序中使用:Play.configuration.getProperty("global.set01") 即可取得。
  • 如何在类中进行数据操作、事务等?
  • 如何使用自定义的类型或字段作为某个类的主键?
    • 参见:The play.db.jpa.Model class automatically provides an autogenerated Long id field. We think that it’s generally a good idea to keep an auto-generated Long id as primary key for JPA models (the technical primary key) and manage your functional primary key using another field.
    • 官方文档中说明使用Play提供的自动自增长的长整数就可以了,所以建议不要自己维护主键,如果因业务需要自己维护主键,也可以保留这个,另外处理自己的主键程序逻辑。
  • 界面上的几种表示方法区别:
    • #{script 'jquery.js'} 模板或Tags,可自定义。
    • ${client?.name} 表达式,来源于Groovy和Grails的语法。
    • @{Clients.index()} 生成Action链接,@@{Clients.index()}生成的是绝对地址。
    • &{'clientName', client.name} i18n的Messages语言文本转换。
    • %{…}% 直接执行的代码,类似ASP里的<%...%>
    • *{…}* 服务器端注释,类似ASP里<%'.....%>
    • 详细说明见:http://www.playframework.org/documentation/1.1/templates
  • 建Model时可用的注释声明:
    • 设置某个字段不存入数据表:
         @Transient
          public String info;

  • 如何显示某个类的列表数据在页面上:
    • 参见:http://www.playframework.org/documentation/1.1/guide9
      public static void index() {
      List<Post> posts = Post.find("author.email", Security.connected()).fetch();
      render(posts);
      }
      然后在模板页面上这样列出:
      #{list items:posts, as:'post'}
      <p class="post ${post_parity}">
      <a href="http://wind13.blog.163.com/blog/#">${post.title}</a>
      </p>
      #{/list}
  • 如何将Play运行在Windows Server上,当做一个服务启动?
    • 在项目目录下运行play run 即可。
    • 下载个srvany.zip 包,里面三个文件:instsrv.exe,srvany.exe,srvany.wri
    • srvany.wri 文件里是英文的使用说明。
    • 拷贝instsrv.exe, srvany.exe 文件到 C:\tools\srvany.exe
    • 运行 instsrv MyService c:\tools\srvany.exe
    • 在注册表里HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService: 添加一个 'Parameters' 的Key。
    • 在这个键值下面添加:Application: REG_SZ: D:\your\play\play.bat start E:\your\play\projectpath\
    • 详细创建Windows下服务的方法参见:http://www.tacktech.com/display.cfm?ttid=197

  • 世风十三推荐阅读:
    相关文章

    同时在windows系统中的cmd窗口里,控制台输出的中文也可能是乱码,这个可能是因为我们使用的Windows的cmd默认编码不是UTF-8,而是GBK吧,还没找到好办法解决。同时在windows系统中的cmd窗口里,控制台输出的中文也可能是乱码,这个可能是因为我们使用的Windows的cmd默认编码不是UTF-8,而是GBK吧,还没找到好办法解决。

    注释掉 application.py  的241行,在Run的时候加上 -Dfile.encoding=GBK

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    【热】打开小程序,算一算2024你的财运
    将java程序运行为Windows服务
    建立使用者自訂服務
    framework 4.0时出现这个提示安装不成功?
    Visual Basic 2005新功能——My命名空间
    Eclipse中跟踪调试Android Framework源代码
    create a service from an exe on windows xp 2000 nt : executable to daemon mode
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服