修正修正
2003年2月12日掲示板本格稼動・・・
と思ったら、ある人のおかげで不具合発覚。
フォームから入力された文字列を改行コードそのままに表示するために、PREタグを使っていたのですが、改行しないで、一行が長くなると、
テーブルの幅指定さえも無視して何処までも長くなることが発覚。
改行してくださいと注意書きに書けばそれまでなのですが、仕様で片付けるのは何だか悔しいので、対処することに。
すぐに思いついたのは、<PRE>タグを辞めて改行コードを<BR>に変換すること。
ですが、それをやるには、せっかくstrutsタグで自動的にやってくれていたHTMLフィルタリング(タグの無効化)を解除しなくてはならず、
それをやっちゃうと、タグ書き込み可能になってしまい、少々セキュリティに不安が残ります。
とまあ、色々悩んだのですが、結局自分でフィルタリング実装して、改行キーだけその後にBRタグに変換することにしました。
変換には、文字列を一字一字順に調べていって、変換すると言う単純な方法もあったのですが、せっかくですので、jakartaのORO(正規表現ツール)を使って置換しました。
いやあ、便利ですね。
一種類の文字を置換するだけだったら、2行ですみますから。
なんでも、この機能Perlをもじった物だと言うことで、Perlって掲示板などWEBアプリに使われてる理由が良くわかりました。
と思ったら、ある人のおかげで不具合発覚。
フォームから入力された文字列を改行コードそのままに表示するために、PREタグを使っていたのですが、改行しないで、一行が長くなると、
テーブルの幅指定さえも無視して何処までも長くなることが発覚。
改行してくださいと注意書きに書けばそれまでなのですが、仕様で片付けるのは何だか悔しいので、対処することに。
すぐに思いついたのは、<PRE>タグを辞めて改行コードを<BR>に変換すること。
ですが、それをやるには、せっかくstrutsタグで自動的にやってくれていたHTMLフィルタリング(タグの無効化)を解除しなくてはならず、
それをやっちゃうと、タグ書き込み可能になってしまい、少々セキュリティに不安が残ります。
とまあ、色々悩んだのですが、結局自分でフィルタリング実装して、改行キーだけその後にBRタグに変換することにしました。
変換には、文字列を一字一字順に調べていって、変換すると言う単純な方法もあったのですが、せっかくですので、jakartaのORO(正規表現ツール)を使って置換しました。
いやあ、便利ですね。
一種類の文字を置換するだけだったら、2行ですみますから。
なんでも、この機能Perlをもじった物だと言うことで、Perlって掲示板などWEBアプリに使われてる理由が良くわかりました。
コメント