matsukaz's blog

Agile, node.js, ruby, AWS, cocos2d-xなどなどいろいろやってます

トグルによる項目の表示/非表示


こんな感じに項目の表示/非表示を切り替える方法。
HTMLはこんなんで

<a href="#" id="hoge">表示する</a>
<div id="contents">
表示/非表示されるコンテンツ部分
</div>

Javascriptはこんな感じ

$(document).ready(function(){
  $("#contents").css("display", "none");
  $("#hoge").toggle(
    function() {
      $("#hoge").text("隠す");
      $("#contents").toggle();
    },
    function() {
      $("#hoge").text("表示する");
      $("#contents").toggle();
    });
});

ポイントはtoggle関数。ここでは引数に関数を2つ受け取るtoggle(fn, fn)と引数を受け取らないtoggle()を使ってます。
使い方をまとめると

関数 用途
toggle(fn, fn) 指定したセレクタ(ここでは"#hoge")をクリックする度に、引数で指定した最初と2番目の関数を交互に実行する
toggle() 指定したセレクタ(ここでは"#contents")をクリックする度にセレクタに該当するものを表示/非表示する

ってな感じ。同じtoggleって関数名でも使い方は全然違うのでご注意を。素のJavascriptでやろうとしたらクリックした回数をカウントするのが面倒なので便利です^^

Spring Web Services まとめ その11(ラスト)

Encryption and Decryption(暗号/復号化)

復号化

SOAPの入力メッセージを復号化するためには、セキュリティ・ポリシー・ファイルにRequireEncryption要素を記述する必要がある。また、メッセージのうち暗号化された部分を表すためのEncryptionTarget要素を記述することもできる。指定可能な子要素は、ここで参照することができる。

<xwss:SecurityConfiguration xmlns:xwss="http://java.sun.com/xml/ns/xwss/config">
    <xwss:RequireEncryption />
</xwss:SecurityConfiguration>

もしも入力メッセージが暗号化されていなかった場合は、XwsSecurityInterceptorがSOAPフォルトを送信元に返す。もしも暗号化されていた場合は、DecryptionKeyCallbackを実行し、登録したハンドラが呼ばれる。Spring-WSでは、登録可能なハンドラはKeyStoreCallbackHandlerのみである。
以下は、KeyStoreCallbackHandlerの設定例である。

<beans>
    <bean id="keyStoreHandler" class="org.springframework.ws.soap.security.xwss.callback.KeyStoreCallbackHandler">
        <property name="keyStore" ref="keyStore"/>
        <property name="privateKeyPassword" value="changeit"/>
    </bean>

    <bean id="keyStore" class="org.springframework.ws.soap.security.support.KeyStoreFactoryBean">
        <property name="location" value="classpath:keystore.jks"/>
        <property name="password" value="changeit"/>
    </bean>
</beans>
暗号化

SOAPの出力メッセージを暗号化するためには、セキュリティ・ポリシー・ファイルにEncrypt要素を記述する必要がある。また、メッセージのうち暗号化対象の部分を表すためのEncryptionTarget要素を記述することもできる。指定可能な子要素は、ここで参照することができる。

<xwss:SecurityConfiguration xmlns:xwss="http://java.sun.com/xml/ns/xwss/config">
    <xwss:Encrypt />
</xwss:SecurityConfiguration>

XwsSecurityInterceptorは暗号化された情報を取り出すため、EncryptionKeyCallbackを実行し、登録したハンドラが呼ばれる。Spring-WSでは、登録可能なハンドラはKeyStoreCallbackHandlerのみである。
以下は、KeyStoreCallbackHandlerの設定例である。

<beans>
    <bean id="keyStoreHandler" class="org.springframework.ws.soap.security.xwss.callback.KeyStoreCallbackHandler">
        <property name="trustStore" ref="trustStore"/>
    </bean>

    <bean id="trustStore" class="org.springframework.ws.soap.security.support.KeyStoreFactoryBean">
        <property name="location" value="classpath:truststore.jks"/>
        <property name="password" value="changeit"/>
    </bean>
</beans>

Spring Web Services まとめ リンク

やっとSpring-WSのドキュメントを一通り網羅できました。といっても後半はほとんど訳しただけ、しかも支離滅裂な日本語になってるし(汗)。ほんとすんません orz。また折を見て修正したり追記してきます。
一応今までのエントリのリンクをここでまとめておきます。