Lift

amStockを使ってみる(その2)

amStockでは、チャートの設定やデータは、それぞれファイルとして与えるのが基本です。 (JavaScriptを利用して、動的に設定やデータを与えることもできます。) amstock_settings.xml data.csv あらためてリファレンスを見てみると、その量の多さにちょっと…

Reqのextractorに渡すパスには拡張子を含めてはいけない

CSVデータを返すために、dispatchファンクションを登録しようとして、次のようなコードを書きました。 LiftRules.dispatch.append { case Req(List("hoge", "data.csv"), _, GetRequest) => Data.csv _ }ところが、うまくData.csvが呼ばれません。 ググって…

Mavenをオフラインで実行する

mvnコマンドを実行すると、その都度リポジトリにアクセスしに行きます。その為、オフラインだと失敗してしまいます。 リポジトリにアクセスせずに実行するには、次のように-oオプションを付けます。依存ライブラリの更新チェックを行わないので、当然のこと…

amStockを使ってみる

amStockチャートというライブラリがあります。Flash系で、商用ですがフリーで使えます。フリー版では、チャートの左上隅にamCharts.comへのリンクが出ます。とりあえず、サンプルのHTMLをレンダリングするsnippetを作ってみました。サンプルのamstockフォル…

jettyでJavaRebelを使う

jettyでJavaRebelを使うには、次のようにします。pom.xmlを編集して、scanIntervalSeconds を 0に設定します。これでjettyのリロードが抑止されます。 <scanIntervalSeconds>0</scanIntervalSeconds>maven-jetty-pluginでjettyを起動します。 set MAVEN_OPTS="-noverify -javaagent:~/javarebel.jar" mvn…

JavaRebelのダウンロード

RubyやPythonと違って、JavaやScalaはコードを変更したら、再コンパイルして、アプリケーションをデプロイしたり、コンテナをリスタートしたり、とメンドくさい手順を踏まなければなりません。 しかし、JavaRebelを使うと、ある程度、この手順を省略できるよ…

mvn-jetty-pluginでJNDI

mvn-jetty-pluginでJNDIリソースを使うには、次のdependencyをpom.xmlに追加します。これでjettyでJNDIが使えるようになります。 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-plus</artifactId> <version>[6.1.6,)</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-naming</artifactId> …</dependency>

mvn-jetty-pluginのオプション

Liftはmavenを使うのがほぼ前提になっているので、何をするにもmavenの知識があると助かります。というより、J2EE素人の私には、何をやるにも何か調べないと始まりません。Liftは標準でderbyを同梱していますが、やはり他のデータベースを使いたいところです…

SiteMapにページを追加する

Liftでページを表示するには、SiteMapにエントリを追加します。 SiteMapには、メニューへの表示/非表示とかアクセス制御など、いろいろとオプションがあるようです。Boot.scala: // Build SiteMap val entries = //元々あるとこ Menu(Loc("Home", List("inde…

MappedStringIndex

当初、WikiEntryクラスは、Stringをキーにするつもりでした。一応、MappedStringIndexというクラスが用意されているのですが、このクラスはフォームへの表示や書込みができないように設定されています。ランダムな文字列を自動生成してユニーク・キーにする…

Derbyをインストールする

Liftのプロジェクトを作ると、デフォルトでDerbyのデータベースが作成されます。DerbyはJavaで書かれたRDBMSです。 Derbyの実行に必要なコンポーネントは、Mavenが自動的にを持ってきてくれるので、Liftから使うだけなら、他に何もインストールする必要はあ…

Liftプロジェクトのフォルダ構成

作成した直後のLiftプロジェクトのフォルダ構成は、こんな感じになっています。いちばん上のwiki(プロジェクト作成時にartifactIdで指定)がプロジェクトのルートフォルダです。pom.xmlは、この直下にあります。 lift_example //derbyのデータベースファイル…

modelを作成してみる

com.unyaunya.modelフォルダに、次のファイルを作成します。【WikiEntry.scala】 package com.unyaunya.model import net.liftweb.mapper._ object WikiEntry extends WikiEntry with KeyedMetaMapper[Long,WikiEntry]{ override def dbTableName = "wikient…

いつの間にかLiftのサイトが...

リニューアルしてましたね。DavidPollakの写真まで載ってます。LiftBookの最新版のPDFも新しくなってるし。

Liftのプロジェクトを作る

Liftのプロジェクトは、mavenを使って作ります。 mavenを使わない方法もあるようですが、メンドくさいので、素直にMavenを使った方が幸せになれます。 Mavenは2.0.7以上が必要です。Mavenのインストールや使い方はTECHSCOREなどの解説サイトを参考にします。…