<input type="hidden"> と <table>(いまさらIE7)
こういうhtmlを書く必要があった。
<table> <tr> <input type="hidden" name="hoge1" value="fuga1"> <td>1行目</td> </tr> <tr> <input type="hidden" name="hoge2" value="fuga2"> <td>2行目</td> </tr> <tr> <input type="hidden" name="hoge3" value="fuga3"> <td>3行目</td> </tr> </table>
このとき、IE7だとテーブルの上に謎のスペースができてしまう。
解決策:
以下のように改変。
<table> <tr> <input type="hidden" name="hoge1" value="fuga1"><td>1行目</td> </tr> <tr> <input type="hidden" name="hoge2" value="fuga2"><td>2行目</td> </tr> <tr> <input type="hidden" name="hoge3" value="fuga3"><td>3行目</td> </tr> </table>
inputタグの前後にスペースやら改行やらが入っていると問題らしい。
補足:
そもそも、この書き方自体がhtmlの記述の仕方に反しているので、よくないと思う。
以下更なる対処法。
<table> <tr> <td style="display: none;"><input type="hidden" name="hoge1" value="fuga1"></td> <td>1行目</td> </tr> <tr> <td style="display: none;"><input type="hidden" name="hoge2" value="fuga2"></td> <td>2行目</td> </tr> <tr> <td style="display: none;"><input type="hidden" name="hoge3" value="fuga3"></td> <td>3行目</td> </tr> </table>
これなら反していない。はず。
半角カタカナのバイト数
1バイトだと思ってたら違った。
Shift_JISではJIS X 0201の片仮名は1バイト、漢字などは2バイトで表されることから「1バイトカナ」と呼ばれることもある。しかし文字をあらわすのに必要なバイト数は符号化方式でそれぞれ異なる。実際、「半角カナ」相当の文字を表現するのに、EUC-JPでは2バイト、UTF-16では2バイト、UTF-8では3バイトを要する。
文字コードによって違うんだね。
参考: 半角カナ - Wikipedia
正規表現で複数の条件指定をする
正規表現で、半角英数混合(半角英字のみ、半角数字のみは不可)を判定する必要が出た。
調査したり、いろいろ考えた結果、
^(?=.*([0-9]))(?=.*([A-z]))[A-z0-9]*$
という結論に達した。
肯定先読みの結果は先読み前の位置に戻ることを利用して、
- 何かの文字列を読み飛ばして半角数字を見つける
- 肯定先読みなので行頭に戻る
- 何かの文字列を読み飛ばして半角英字を見つける
- 肯定先読みなので行頭に戻る
- 半角英数のみで文字列が構成されているか調べる
でいけた。
(?=.*(条件A))(?=.*(条件B))で同じ部分から複数の条件判定ができる。
否定したいときは(?!.*(条件))かな?試してないけど。
参考:
SAStrutsで@Executeを付けると404エラーを起こす。
@Executeを付けないとちゃんと動くのに、付けてみると通らない。
よくよくコードを見てみると、小さな小さなミスが。
間違い
@Execute(/* 略 */)
public String Index(){
/* 以下略 */
正解
@Execute(/* 略 */)
public String index(){
/* 以下略 */
文字の大小って重要。
参考: [Seasar-user:21495] 質問:@Executeをつけると404エラーになります - Mailing List Archives
アクセス修飾詞@Java
Java におけるアクセス修飾詞に関するメモ。
Java におけるアクセス修飾詞は以下の4種類。
- public
- protected
- private
- なし
1. public修飾詞
全ファイル、全クラスからアクセスできる。
2. protected修飾詞
全ファイルからアクセスできるが、他ファイルからは自クラスのサブクラスのみ参照可能(ただし、自ファイルの他クラスからは参照可能)。
3. private修飾詞
自ファイルの自クラスのみ参照可能。
4. 修飾詞無し
自ファイルの全クラスから参照可能。他ファイルからは参照できない。
参考: とほほのJava入門