2017年8月11日金曜日

SalesforceでAjaxを使ってみる3

昨日調べたところによると、<apex:commandButton>タグでAjaxを実現ができるようなので、これが一番簡単そうだし深堀してみることにした。

https://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_compref_commandButton.htm

このリンク先を見てみると、「Ajax」という単語がところどころに出てくる。「action」の属性を見てみると、
サーバに対する AJAX 要求によって呼び出される action メソッド。このメソッドを参照するには、差し込み項目の構文を使用します。
というように書かれている。actionはよく使っていたが、Ajax要求とは知らなかったので少し驚いた。

<apex:page Controller="TestController">
    <apex:form >
        <apex:outputText >ファイルを選択してください:</apex:outputText>
     <apex:inputFile value="{!uploadFile}"/>
        <br/>
        <apex:commandButton value="アップロード" action="{!upload}"/>
    </apex:form>
</apex:page>

action="{!upload}"の部分が該当箇所で、TestControllerクラスに実装されたuploadメソッドを呼び出している。

2017年8月10日木曜日

SalesforceでAjaxを使ってみる2

Ajaxはブラウザと非同期にサーバーと通信を行うことができて、うまく使えばけっこう便利なWebアプリの開発を行えるようになるだろう。ページ遷移を伴わない動的なWebアプリは、きっとユーザのうけもいいものになるに違いない。

AjaxはjQueryなどのフレームワークを利用すると簡単に記述することができ、尚且つブラウザごとの互換性もあまり心配しなくてよくなる(はず)。SalesforceにはAJAX Toolkitというのがあり、これを利用することでAjaxを実現できるようだ。

また、Visualforceの<apex:commandButton>タグのrerender属性を指定すると、メソッドの呼び出しをsubmitではなく、Ajaxで処理してくれるらしい。あとは、メソッドに@RemotoActionアノテーションをつけることや、jQueryを組み込む方法などがある。

まだ実際のソースコードを作ったわけではないが、それぞれ長所、短所ともにあるようなので、使いどころを覚えていく必要がありそうだ。色々な方法があるようなのでひとつずつ試していこうと思う。

2017年8月9日水曜日

SalesforceでAjaxを使ってみる

最近は仕事のほうが忙しくて、まあ暇しているのに比べれば何よりなのだけれど、あまり学習の時間が取れていない。細々とは続けているものの、なかなかブログに書くほどの分量は貯まらないし、日々気力は落ちていくしで悪循環だった。

というわけで、5分10分くらいのことで、まとまり切らなくてもちょっとずつ書いていこうと思う。

SalesfroceでAjaxを使ってみたいと思った。いまの仕事(Salesforceではない)でAjaxを結構使う機会があったので、じゃあSalesforceでAjaxを実現するには何をしたらいいのかということを調べた。

このサイトが参考になりそうだ。

https://developer.salesforce.com/docs/atlas.en-us.ajax.meta/ajax/sforce_api_ajax_introducing.htm