忍者ブログ
[PR] ()
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

by
struts-validate (技術メモ)
半日以上はまって解決できなかった問題。

validator.xmlでvalidwhenを使おうとしたけど何故か使えない。
JDK1.4.2, struts1.3.8という組み合わせで色々と調べたけど
まず普通に使えそうな感じ。
だけど使えないんです><

どうなるかというと、
・サーバ起動時はvalidator.xmlのロードでエラーは発生しない
わざとエラーになるようにして書いて差を見たけどやっぱりエラーではない
・画面をIEで表示してソースを見ると他のrequiredはスクリプトが生成されているけど
validwhenはスクリプトが生成されていない
・実行してみると全くvalidwhenのチェックは行われていない
エラーにもならないけどチェックも行われない、
つまり最初から何もなかったかのような挙動
という状態です。
ちなみにrequiredなどでスペルを間違えると画面表示時にエラーになるので
スペルミスとも考えにくいです。

スクリプトはJSに展開するようにしています。
(html:javascriptのdynamicJavascript="true"を指定)
試しにdepends="validwhen, minlength"とかすると見事にvalidwhenを飛ばして
スクリプトが展開されます。
何を元に展開しているんでしょうね~。
validwhenの前身っぽいrequiredifも使えませんでした。
何が基準なのかさっぱり。

半日以上かかりましたが、この問題は結局挫折しました。
JavaScriptで手書きする事にします。
この感じだとvalidator.xmlには基礎的な型チェックを書くだけかな~。


ちなみにちょっと前にindexedPropertyでもはまってて結局解決できなかったのですが
多分これも同じ問題が根底にあるせいだと思います。
へるぷみー
PR
by yy3Trackbacks()Comments(0)
StringUtils (技術メモ)
StringUtils.defaultString(null, "null")="null"
StringUtils.defaultString("", "null")=""
StringUtils.defaultString(" ", "null")=" "
微妙に使いづらす
by yy3Trackbacks()Comments(0)
strutsのタグライブラリ (技術メモ)
タグライブラリにhtml:xxxとhtml-el:xxxというほぼ同機能なんだけど
el付きとそうでないのがあります。
前からどう違うのか分かってなかったのですが、ようやく分かりました。

el付きは${変数名}を展開するのに対しelなしは展開されません。
例としては、logic:iterateでindexId="index"と指定している時に
ループ内でhtml-el:radio value="${index}"とかするとラジオボタンのvalue値には
el付きならインデックス番号が、elなしなら"${index}"という文字列が設定されます。

$変数はstruts標準なのかな?JSTLのかもしれないけどJSTL使ってる人には
お馴染みの筈です。
by yy3Trackbacks()Comments(0)
smtpsとcram-md5 (技術メモ)
どこかのメールサーバの設定で結構苦戦したので
それのメモです。

まずそれぞれどんな物なのかという話です。

○smtps
smtpsはsmtpをsslでやり取りしようというもので、
通信内容がsslで暗号化されるのでネットワーク上を流れる
データがある程度安全になります。

sslという事で証明書が関係してきます。
証明書はちゃんとした機関から取得しているサーバもありますが、
なんちゃって証明書のとこも結構あります。
というか多分なんちゃっての方が多いでしょう。
(俗に言うオレオレ証明書ですね)

そのなんちゃって証明書はサーバ側で提供しているのかは
分りませんが、今回苦戦してたとこは提供してくれなくて
検証不要って事になってたりします。
目的がネットワークデータの暗号化なので暗号化されてさえいれば
証明とかどうでもいいという感じなんでしょうね。

smtpsは通信自体を暗号化する為、既存のsmtpとポート共存は
できません。(やろうと思えばできるんだろうけど)
そんな関係で通常smtpsは別途ポートが用意されている事が
殆どだと思います。
通常はsmtpsはポート465が使われるようです。

○cram-md5
cram-md5はSMTP認証方式のうちの1つです。
SMTP接続後にSMTP-AUTHというコマンドで
認証を行います。
認証方式は他にもいくつかありますが、EHLOコマンドで
サーバから使える認証方式がレスポンスで返ってきます。
cram-md5が利用可能なとこならその中の1つに入ってると思います。

cram-md5はIDとパスワードで認証するのですが、
IDは平文、パスワードは暗号化したものを送ります。
CRAM(ChallengeResponseAuthenticationMechanism)、
つまりチャレンジレスポンスなのでまずはサーバから
チャレンジ(キー)が送られてくるのでそれを元にパスワードを
MD5にかけてレスポンスを返します。
キーは基本的に毎回変わる(と思う)のでそれでMD5する事で
暗号化結果も毎回変わるという訳ですね。

今回苦戦したのは実はパスワードが間違ってたのです。
それは苦戦するわな。というか絶対無理だしw

ちなみにcram-md5は接続後の認証です。
なので接続自体は可能です。
なのでcram-md5でエラーになるという問題とsmtps接続で
エラーになるという現象は全く別物です。
エラー原因を探るにはまずはここの切り分けから入るべきですね。


とりあえず今回のお話はここまでにしておきます。
折があればこれのjavaのお話でも書こうかと思います。
というか書こうと思ったけどここまで書いた時点で
話が長過ぎるのでそこまで辿り着けなかっただけだったり。
by yy3Trackbacks()Comments(0)
gzip受信 (技術メモ)
RequestProcessorクラスを継承してprocessPopulateをオーバーライドして
そこでgzip受信すれば多分いける。

試してないけどね=D

汎用的に作るのは難しそうなので特定の用途専用に
なるんじゃないかと思われ。

元々POSTとかGETの流儀に沿ってないけど
struts使いたい場合などには多分有効かな。 
by yy3Trackbacks()Comments(0)
メモとか
MASTER : yy3
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
(10/28)
(08/18)
(07/27)
(07/27)
(07/15)
ブログ内検索
アクセス解析
OTHERS
Powered by 忍者ブログ
Designed by TABLE ENOCH
[PR]

△ページの先頭へ