
Open Laszloを使って作るリッチクライアント(2)
Open Laszloで日本語を表示してみよう
浅野守
2005/4/28
本連載ではオープンソースのリッチクライアント製品として最近急速に注目を集めつつある「Laszlo」を解説している。Laszloはサーバサイドで生成したコンテンツをFlashとしてクライアントのWebブラウザに配信するもので、Macromedia社のFlexと非常によく似たアーキテクチャを採用。前回「オープンソースのリッチクライアントを使おう」の記事でインストールができた読者はさっそく日本語化してみよう。
■9 日本語でハローワールド
- - PR -
「Reset」ボタンをクリックしてソースコードをオリジナルに戻します。次に、「Hello World」を「ハローワールド」と変更して日本語を入力し「Update」ボタンをクリックします。しかしLaszloアプリケーション の結果は文字化けしてしまいます。
ロードマップによれば、Laszloプレゼンテーションサーバは3.0b1からUnicodeを扱えるようになっており、日本語に対応しています。LaszloExplorerも以下のようにJSPファイルを変更するだけで、Unicodeを扱えるようになります。
- C:\Program Files\Laszlo Presentation Server 3.0b2\Server
\lps-3.0b2\Laszlo-explorer\ source.jspをエディタで開きます。
- 先頭XMLコメント行の次(「<%@ page import="Java.util.ArrayList,」行の手前)に以下の1行を追加します(各「」内は1行)。
「<%@ page contentType="text/html; charset=UTF-8" %>」
- 「String src = request.getParameter("src");」行の手前に以下の1行を追加します(各「」内は1行)。
「request.setCharacterEncoding("UTF-8");」
- 「BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));」行をコメントアウトし以下の3行を追加します(各「」内は1行)。
「FileOutputStream fos = new FileOutputStream(tempFilePath);」
「OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");」
「BufferedWriter writer = new BufferedWriter(osw);」
- 「response.addHeader("Content-Type","application/octet-strem");」行をコメントアウトして以下の1行を追加します(各「」内は1行)。
「response.setContentType("application/octet-stream; charset=UTF-8");」
- 「File file = new File(temp?tempFilePath:application.getRealPath(src));」と「BufferedReader
reader = new BufferedReader(new FileReader(file));」の2行をコメントアウトして以下の3行を追加します(各「」内は1行)。
「FileInputStream fis = new FileInputStream(temp?tempFilePath:application.getRealPath(src));」
「InputStreamReader isr = new InputStreamReader(fis, "UTF-8");」
「BufferedReader reader = new BufferedReader(isr);」

修正が終わったら「Reset」ボタンをクリックしてソースコードをオリジナルに戻します。次に、「Hello World」を「ハローワールド」と変更して日本語を入力し「Update」ボタンをクリックします。これで「ハローワールド」が表示されるはずです(画面1)。
![]() |
| 画面1 日本語が表示できた |
「Laszloin 10 Minutes」では、「Hello World」から始まってLaszloアプリケーションの機能を一通り説明しているので、ぜひ試してください。
■
Laszloプログラミングアーキテクチャー
・ 開発ツール
Laszloプレゼンテーションサーバ3.0b2向けの開発環境としては、テキストエディタかXMLエディタを使用します。また、後述するEclipseベースのIDE環境については、IBM社より提供されており、これを用いることも可能です。
コーディングしたソースファイルを「C:\Program Files\Laszlo Presentation Server 3.0b2\Server\lps-3.0b2\my-apps」に保存するとその実行結果を http://localhost:8080/lps-3.0b2/my-apps/ソースファイルで確認することができます。
試しに上記のソースコードを、メモ帳などのテキストエディタにコピー&ペーストして、文字コードをUTF-8にし、test.lzx というファイル名保存してください。
ブラウザでhttp://localhost:8080/lps-3.0b2/my-apps/test.lzxにアクセスするとアプリケーションの実行結果が表示されるはずです。
・ LZX
LZXはLaszloアプリケーションを記述するXMLとJavaScriptをベースとしたオブジェクト指向の言語です。
LZXの組み込みオブジェクト、メソッド、プロパティやクラスは、XMLエレメントとして記述され(緑色部分)、処理ロジックはJavaScriptを使用して記述されます(黄色部分)。
<canvas
width="200"> |
・ イベント処理
LZXでは、イベントのコールバックルーチンをmethodエレメントで記述できます(黄色部分)
<リスト1>
<canvas width="200"> |
ここまでで日本語表示ができただろうか。次回からは、Lazsloのコンポーネントやデータバイニング、さらにはEclipseを使用した開発までを追いたい。最終的には、Laszloを使ってAmazonのWebサービスのフロントエンドの作成までを行う予定だ。
Open Laszloを使って作るリッチクライアント バックナンバー
TechTargetジャパン
- コンテンツ政策ヲ転換セヨ! (2012/2/10)
mixiにしろTwitterにしろニコ動にしろ、ソーシャルサービスは伸びている。シロウトの個人が作るコンテンツで成り立つサービスだ - NFCやLTE対応予定のiPhoneと、先行するAndroid (2012/2/9)
iPhoneとAndroid、そしてWindows Phoneという3つのOSの今後を占う。それぞれの通信規格とコンセプトは? - 家電のUIになるブラウザ (2012/2/3)
未来の家電はインターネットに接続でき、ブラウザが内蔵されてくる。家電にブラウザが載ったらどうなるか? 未来のホームネットワークを想像しよう - 「汎用のUI技術」として広がるHTML5 (2012/2/2)
すさまじい勢いで成長しているHTML5を中心としたオープンなWebプラットフォーム。HTML5やAPI、Webブラウザのアップデート情報をお伝えする
|
|

