play 1.2.7

play 从官网下载 解压,然后环境变量设置一下


1  shell:/play  new zms 新建项目

2  play run(start) zms  就启动了, run的话控制台窗口不能关闭。  start 则是后台启动,控制台看不到日志

3  习惯用eclipse 或者myeclipse开发,则可以 把工程转为eclipse格式的 

 cd zms:/play eclipsify   然后用eclpse/myeclipse import即可,引入后在 eclipse文件夹有个zms.launch文件 又键 run as 即可启动 

4 修改文件后不需要刷新,不需要重启服务,由于myeclipse写前台界面很垃圾,我一般是再开一个webstorm,以前写普通的ssh程序,

  在webstorm修改后,需要在myeclipse里刷新一下, 页面才生效,下载不需要跑myeclipse里刷新


5 如果喜欢用tomcat 也可以吧 项目打包成tomcat  

   5.1 打包  

   cd D:\play-1.2.7

      play war com.shovesoft.sp2p --exclude .idea:.svn:.settings:logs:tmp:test:test-result:.classpath:.project-o  c:\z2.war

    --exclude 这一段可选,表示不把这些文件夹打包

    

     5.2 如何发布到tomcat

                1 把tomcat webapps\Root下所有文件删除

   2 打包

     shell:>play war com.shovesoft.sp2p  -o  d:\tomcat7-play\webapps\ROOT\x.war

   3 把 x.war下的web-inf整个剪切到 Root根 

   4 然后把 x.war删除

   5 启动tomcat

   6访问可能报错,我们把tomcat修改一下 catalina.bat或者 linux catalina.sh

    windows  tomcat7的话 在188行 后面加 rem  ----- Execute The Requested Command ---------------------------------------

 set JAVA_OPTS= -XX:-UseSplitVerifier  -Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m 

     linux tomcat 是 237行 # ----- Execute The Requested Command -----------------------------------------

  JAVA_OPTS='-server  -XX:-UseSplitVerifier  -Xms2048m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=512m'


6 play 操作cookies

    session.put 操作的不是cookies,浏览器重启后 无法用session.get到

  必须:

       //写cookies
Cookie  cookie=new  Cookie();
    cookie.name="userid";
    cookie.value=String.valueOf(422);
    cookie.maxAge=365*24*60*60;
   
    //添加进cookiess  key可以随便写
    response.cookies.put("real", cookie);
   

        读:  String userid=request.get().cookies.get("userid").value;


 7  play 控制台 乱码

     play/framework/pym/play/application.py 修改第262行 utf-8改为 GBK

      java_args.append('-Dfile.encoding=GBK')

    

8   play 页面报错 提示显示乱码

     貌似是该jettry里一个 jar里的一个配置文件 设置 zh_CN 为utf-8 忘记怎么改了,下次再补充


9   fllush.put 作用范围

   作用范围是本页和下一个 链接 的页面 可以访问, 比如 登录界面,登录,后台验证失败后,返回给登录界面flush.put("username"),登录界面直接  ${flush.get("username")}可取出来


10  启动报  VerifyError 错误

       听说是 jdk7类型推导 验证之类的不通过, 

     解决:   系统jdk设为1.7 ,工程编译级别1.7  

       修改  com.shovesoft.sp2p.launch文件  加 -XX:-UseSplitVerifier
   <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:-UseSplitVerifier -Xms2048M


11   debug as 无法启动 

             提示 Jvm启动了2次  Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options


        解决:   将-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 去掉。


12 前台遍历 list 取索引


         %{int i=1;}%
         #{list items:bills,as :'bill'}
         <tr>
            <td> ${i} </td>
         
         </tr>
          %{i++}%
         #{/list}


   或者: 

        #{list items:pageBean.page, as:'bid'}
  
   #{if   bid_index<1}
    <div class="invtentsItem"   style="margin-top:0">
   #{/if}
   
   #{else}
    <div class="invtentsItem"  >
   #{/else}
 #{/list}



13 前台格式化

     <td> ${bill.repayment_time.format('yyyy-MM-dd')} </td>
         ${_?.capital_interest_sum?.format('###,##0.00')}  

        筹款金额: ${  bid.amount.format('##,###0')}元
          这样也可以 #{format money:(bid.amount-bid.has_invested_amount)  }#{/format}

 

你可能感兴趣的:(play 1.2.7)