2010-10-01から1ヶ月間の記事一覧

MySQL FUNCTION

MySQL ストアドFUNCTION を作成するとき、以下のようにデリミタを使うことを忘れやすい。 ----- createFunc.sql ファイルの内容 ----- DELIMITER // CREATE FUNCTION nextSequence() RETURNS INT BEGIN UPDATE sequence SET id=LAST_INSERT_ID(id+1); RETURN…

MySQL SEQUENCE iBATIS3 で。。。

MySQL で、Oracle SEQUENCE と同様の機能を作成する方法は、ネットで多く紹介されてる。 FUNCTION を用意してiBATIS3(myBatis) でシーケンス値取得を整理した。 MySQL シーケンスの代用テーブルを用意 CREATE TABLE sequence (id INT UNSIGNED NOT NULL); 1…

iBATIS3 ORDER BY 句の動的SQL

iBATIS3(mybatis) で、ORDER BY 句の動的SQL <foreach> で、ソートキーのフィールド名、ソートタイプ(ASC,DESC) を展開させる。 SQLを書く XML では、 以下のように記述 <select id="select" parameterType="パラメータクラス" resultType="SELECT結果クラス"> SELECT * FROM item WHERE price > #{price}} <if test="sizeList > 0"> </if></select></foreach>

Wicket 画像クリックでPanel切替

Wicket AJAX イベントでのPanel 切替えは、画像 onclick で切り替える方法も スッキリしたデザインになって良いと思う。 例えば、以下のような画面、[+] 画像のクリックで画像とともにPanel 切替を するとしたら、、、 [+] 画像をクリックすると以下のように…

AuthorizeAction で Panel表示制御

@AuthorizeAction による制御は、リンクだけに限らずコンポーネントであれば適用できる。 Panel 表示を制御したければ、専用のPanel継承クラスを用意すれば良い。 例) import org.apache.wicket.authorization.Action; import org.apache.wicket.authorizat…

パスワードによる SHA1 and トリプルDES 暗号化

DESede , AES と試したので、こんどはパスワードによる SHA1 and トリプルDES 暗号化 import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; …

AES 暗号化

こんどは、AES 暗号化、前回同様に、、、 import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /** * AES/CBC/…

トリプルDES

トリプルDES 暗号化・複合化のために Abstract クラスを作ってみた。 import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.Sec…

マウス hover で画像切り替えはCSSで

マウス hover で画像切り替えはCSSで可能 わざわざJavaScriptを書かなくても良いと思う。 ただしこの方法、切り替える画像をくっつけて1枚の画像にする必要がある。 <style type="text/css"> a.back#backbutton { display: block; width: 60px; height: 30px; text-indent: -100…

Eclipse WTP で、Tomcat manager起動

Eclipse WTP で Tomcat サーバ起動した時に、Tomcat の manager を開こうとしても そのままでが、404 not found である。 Ecliplse プロジェクトに出現する Servers で設定が必要なる。 Servers の server.xml に manager コンテキストを追加する。 <Context path="/manager" docBase="${catalina.home}/webapps/manager" privileged="true"/> tomcat-</context>…

パンくずリスト

Wicket でパンくずリストを実現する場合、よく紹介されるのが、 wicket-extensions のある org.apache.wicket.extensions.breadcrumb であるが、 これは、Panel を対象にしている。Page 遷移でのパンくずリストには使えそうもない。 そこで、アノテーション…

AuthorizeAction

wicket auth-role を使用した時にロール権限によるページリンクを有効/無効あるいは表示/非表示を、 いちいち、isVisible() オーバーライドや setVisible を呼んでいたのでは、たまらない。 そういう場合、AuthorizeAction アノテーションで制御するのが良…

AJAXカレンダー見直し

前に書いたAJAXカレンダー、年、月の表示をオーバーライドメソッドで自由にした方が良いと思った。 import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org…

form action 書き換え、というより制御

form タグの action 属性は、Wicket の通常ではformタグを記述したHTMLに対応する Pageクラスが送信先になる。これを別にしたり、任意に動的にURLにパラメータを追加 する場合は、Form で onComponentTag をオーバーライドする。 // パラメータ追加する場合…

wicket:id を取り除く場合

Wicket で、タグに記述する wicket:id を取り除く場合、 通常は、WebApplication の init() の中で、以下を実行する。 getMarkupSettings().setStripWicketTags(true); そうではなく、1つのタグの wicket:id を取り除く場合は、 対応するコンポーネントにビ…

メールアドレス正規表現

メールアドレス正規表現^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,3}){1}$Java ソース上では、、、、import java.util.regex.Pattern; : :Pattern ptn = Pattern.compile("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-…