2002年 3月 3日 (日)

Beans で日本語!?

『タケちょんネット全部じゃば化計画』の第一歩としてトップページの JSP 化と随所に散りばめて配置されているランダムメッセージの Beans 化に取り組む。
まずは現状の index.html をコピーして index.jsp とする。SSI で include しているスクリプトを昨日のランダムメッセージの拡張で Beans 化。
と,確認してみると…。
 
バケバケ
 
昨日のテスト jsp ではイケたのに…。と調べてみると,JSP ファイルのエンコードと Beans の出力エンコードが違う。
…で,いろいろいろいろと試行錯誤をしてみる。一時は Beans をヤメて Servlet で実現しようとも思い詰める。
 
ちなみに Servlet のパラメータ付き呼び出しはコレ。
<jsp:include page="/servlet/RandomMessageServlet" flush="true">
    <jsp:param name='type' value='hello' />
</jsp:include>

パラメータは form の受け取りと同様 getParameter() にて取得できる。
 
しかし,わざわざ http 経由で呼び出す Servlet より VM がそのままロードしてくれる Beans の方が“地球に優しい”コーディングだと信じてガンバる。
 
<jsp:useBean id="message" scope="application" class="RandomMessage" />
<jsp:setProperty name="message" property="Type" value="hello"/>
<jsp:getProperty name="message" property="Message" />
<jsp:setProperty name="message" property="Type" value="logout"/>
<jsp:getProperty name="message" property="Message" />

昨日との違い (進歩) は set メソッドにて get の挙動を変えられる点。
 
今日の成果 (というか妥協点)
・native2ascii -encoding eucjis にてソースコードの Unicode 化
・JSP は JIS (iso-2022-jp) で書く
・JSP の頭に <%@ page contentType="text/html; charset=iso-2022-jp" %>
 
…と,とりあえず JIS に統一する事でバケずに表示するようになる。
Beans の出力が何故 JIS 固定なのかは今日のところは謎。
 
とりあえずこんな感じ
http://www.takechon.net/RandomMessage.jsp
(って,クライアントから見ても面白くナイんだろうけどね)
QRcode Tweet

このページの半分はフィクションです。もし同一の名称があった場合も,実在の人物・団体・事件などとはあんまり関係ありません。
(2004/12/08 09:55:00) ○
CAPTCHA

[月インデックス] [単語インデックス] [コメントインデックス] [画像インデックス]
[TAKEchonNET] → [大いなる疲労の告知]
Donate us![TAKEchonNET]