ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

Play Framework

【PlayFramework2】Scalaテンプレートで動的処理を書くと改行されるやつを回避する方法

ない。 github.com Closing. I would suggest using another templating language or post-processing your template output to remove the newlines. (Google翻訳)閉鎖。別のテンプレート言語を使うか、テンプレート出力を後処理して改行を削除することを…

【PlayFramework2.4】検索の条件の否定

「指定したidリストの中に入っているid以外のレコードを取得する」という要件がありました。 ? そういえば否定ってやったことないな。と思い、色々探してやっとこさできたのでメモ。 import com.avaje.ebean.Expr; // ... 省略 List<Integer> notSomethingModelIdLis</integer>…

【PlayFramework2.4】Betweenを使ったDB検索

例えば、この「日付からこの日付までにマッチするレコード」を出したいという要件がありました。 SQLだとBetweenさんの出番ですが、Play Framework2.xはどうすればいい? あります。Between。 過去やったことがあったけど、ブログ書いていなかったのでメモし…

【Play Framework】クエリパラメータを取得する

メソッドの引数からも取れる。けど、複数あるとき~/conf/routesの記述が書きづらいので、リクエストのオブジェクトから取れないかなーと思って探したらあったのでメモ。 String value = request().getQueryString("key"); これでとれます。 こいつにOptional…

【Play Framework2.x】Mail Pluginを使って、なりすましっぽいメールを送信する(できました)

「なりすまし? ダメにきまってんでしょ!?」 そう却下できたらいいんですが、世の中色々な人や仕事がありますので、そうもいかなかった。 業務改善のためにいわゆる”なりすまし”のメールを、業者向けに送らないといけなかった。 不特定多数に送信するのはN…

【PlayFramework2.x】本番デプロイで起動ポートの変更

stackoverflow.com これが参考になった。 stageで作ったコマンドは、検証環境やローカルと一緒で-Dhttp.port=xxxxというオプションを用意すればおk。 $ ./target/universal/stage/bin/application -Dapplication.secret=abcdefghijk -Dhttp.port=10012 &

【PlayFramework】Optional最高ですね!!!!

Null pointer exception 略してぬるぽ(日本だけだけど) このエラーはほとんどがプログラマの考慮漏れで発生する。だが、我々は人間だ。使い慣れたクラスならまだしも、初めて使うライブラリなどは使ってみてみないとどう動作するかはコードを見ただけで読…

【Playframework】リバースルーティングを使ったredirect(リダイレクト)

ひさびさのplayframework。 リダイレクトの仕方思い出せなかったので、メモしておく。(バージョンは2.4) public static Result post() { return redirect(controllers.routes.AppController.index()); } こんな感じでredirectを実装することができる。redi…

【ありがとうVaddy】Vaddyで脆弱性診断したらXSSが見つかった

私は試したことがないが、脆弱性診断というサービスがあるらしい。それを受けると数十万かかり、また結果を受け取るのに1週間ほどかかるらしい。 とてもではないが、一般では簡単には手を出すことができないサービスであることはわかる。 だがしかし、最近…

【Scala】Scala Templateで日付をフォーマットする方法

Scala Templateで日付をフォーマットする方法です。 @import org.joda.time.DateTime @import org.joda.time.format._ <p>ログ登録日:@{DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss").print((new DateTime(formValue.get.createTime)))}</p> このformValue.ge…

【PlayFramework】Evolutionを無効にする

PlayFrameworkに標準でくっついているマイグレーションのEvolution 大変便利なんですけども、たまにウザい。 せっかくいれたダミデータを全部削除しちゃうし。。。スキーマのバージョン管理は嬉しいがデータのバージョン管理もしてほしいな。無理ゲーかな。…

【Play Framework】CSRFの状況でのjQuery append()

jQueryでDomを生成して、htmlソースに追加しようと思って実行 CSRF token not found in body or query string おうおうおう(^ω^; playframework/playframeworkgithub.com @Override public F.Promise<Result> call(Http.Context ctx) { RequestHeader request = ct</result>…

Scala(Template)のif文をOneLinerで記載したときにハマった

要望。DBに登録されている料金を出力したい ほい @* db は、Controllerから取得したObject *@ 料金:@{db.price} 円 追加要望 とある料金を出力したいだけだったが、ユーザーによっては利用・利用しないってことがあった なので、条件分岐を用意してあげた。…

PlayFrameworkを1カ月使ってみての感想

この記事は完璧なJava・Scala初心者が書くポエムです。経験不足&完全な個人ポエムですので、参考にされる方はほどほどでご了承頂きたい。(でないと責任取れん) Play Frameworkを使って、1カ月ぐらいたったかなと思う。 ちょっと落ち着いているので、1ヵ…

【Java】Caused by: javax.persistence.PersistenceException: Query threw SQLException:Unknown column 'Model.create_time' in 'order clause'

なんだろーねこのエラー。 Caused by: javax.persistence.PersistenceException: Query threw SQLException:Unknown column 'create_time' in 'order clause' 訳すだけだと、「どのカラムか曖昧なんで、詳細を指定してもらえません?」って感じかね。joinす…

【PlayFramework】突然のダウン 「Configuration error[Cannot register class [models.xxx$1] in Ebean server]」

どうやら、パッケージmodels以下にinitできないClassがあるとダメみたい。 私の場合はEnumでした。 これを移動させたら問題なかったです。。。( ´ー`)フゥー...

PlayFramework Entityモデルのフィールドに@NotEmptyを付与して、んで、そいつをcheckboxにすると落ちる。。。?

いまだによくわからないダウンでした。 Uncaught error from thread [play-akka.actor.default-dispatcher-10] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[play] java.lang.NoClassDefFoundError: javax/el/Proper…

【PlayFramework】「stage」したときのディレクトリパスについて

うーむ。。。困ったなぁ。 Logger.debug("project path:" + Play.current().path().toString()); Logger.debug("cureent path:" + new File(".").getAbsoluteFile().getParent()); [debug] application - project path:/var/www/play/target/universal/stage…

【Scala】泣きそうなぐらいScalaのWhile文にハマったのでワロエナイからブログ書く(結局for文でやりました)

もうタイトルだけでいいんじゃないかなぐらい詰め込みましたが、とりあえずこの悲劇をメモする。 Playframeworkで生年月日を出力する箇所で年を今日の年から1980年まで数値を出そうとして、記述するの面倒だったからScalaでループしようとした。 人それぞれ…

【PlayFramework】Form.Classに振り回されてワロタ

photo by Hamad AL-Mohannna 前回の続き。 【Scala】PlayFrameworkのcheckbox.scala.htmlが読み解けなくてワロタ - ITの隊長のブログaipacommander.hatenablog.jp 何がしたいのか。編集画面でcheckboxに登録済みだったらcheckedをいれてほしいだけなんだ!!

【Scala】PlayFrameworkのcheckbox.scala.htmlが読み解けなくてワロタ

photo by masayukig Scalaが読めなくて辛い。 タイトルの通り、全然読めなくて、一日を無駄にしそうなので、ブログを書く。

PlayFrameworkでmailerのプラグインをインストールしてハマってワロタ

pluginをインストールしてもまだ動かない人用です。 環境 eclipse playframework 2.3 gmail(メールサーバ) mailerプラグインをインストール build.sbtへ下記記述を追加 build.sbt libraryDependencies ++= Seq( javaJdbc, # 〜 省略 〜 # この下の1行を追…

PlayFrameworkのinputRadioGroupが使いづらいから自分で作った(ググってコピペしたが正しいです)

photo by formalfallacy @ Dublin (Victor) 今度Scalaの書籍買ってこ。 ネットサーフィンしているとこれがいいらしい。 Scalaスケーラブルプログラミング第2版作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘出版社/メーカー: イ…

【Scala】Scalaのエラー「expected start of definition」

Scalaが全然できないおれがログを残しますよー(^ω^ = ^ω^) こんなコードを書いてみる。 @{ var testLabel = "(^ω^" if(testLabel.isOk == 0) { testLabel = "ここでは絵文字が使えません。" } @inputText(field = formValue("test"), 'options("0"->"絵文…

【Play Framework】エラー「RuntimeException: Missing CSRF Token」

CSRFってご存じですか? 詳しくの説明は別の機会でログを残しますが(俺もまだよくわかっていない)、ワンタイムidをviewにセットして、セッション書き換えなどの脆弱性から守るための仕組みです。 問い合わせフォームとかでよく使われると思っていますが、…

【Scala】エラー「play.PlayExceptions$CompilationException: Compilation error['case' expected but identifier found.]」

'case' expected but identifier found. - 今日もBlueSky このブログさんにお世話になりましたm(_ _ )m ありがとうございます^^ このタイトルになっているエラーを検索する人がいるだろうか・・・。 おれですー/(^o^)\ さて、scalaの「s」もよく知らない私…

scalaのテンプレートで「@(アットマーク)」をエスケープする方法

(^ω^ = ^ω^)できたおっおっおっ scalaをつかったテンプレートでcssのmedia queryを使ったらコンパイルエラーに。。。 あー、そりゃそうですね。scalaでは@マークはよく使います。 それでエスケープしないといけませんでしたが\バックスラではできないので…

【Play Framework】ModelのフィールドにDateを登録したら、save()やupdate()で何故か全部一緒の日付(登録時の日付)になってワロタ

原因 /** * 終了日 */ @NotNull @CreatedTimestamp // ←これ public Date end; @CreatedTimestamp。。。。 「Insert時刻を記録するためのフィールド」です。/(^o^)\

【Play Framework】play.api.UnexpectedException: Unexpected exception[RuntimeException: Error reading annotations for models.ModelClass

play.api.UnexpectedException: Unexpected exception[RuntimeException: Error reading annotations for models.ModelClass 何のエラーだろう? って一生懸命探していたら、意外に単純なミスでした。 Modelに@Entityを付け忘れていました。 ちゃんちゃん♪ o…

【Play Framework】scalaの「implicit」と「FieldConstructor」がわけわからん過ぎてワロタ

こんな感じのHTMLを作成したかったのね。 <tr> <th class="col-sm-2 control-label" for="id_name">ラベル</th> <td class="col-sm-10"> <input type="text" id="id_name" name="id_name" value="" class="form-control" placeholder="ラベル"> </td> </tr> この中にあるlabelタグのfor="id_name"を出力したかったんだけど、どうやってやればいいのかわからなかった。