<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DigiTechLog Dot Com &#187; Ajax/JavaScript</title>
	<atom:link href="http://digitechlog.com/tag/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム</title>
		<link>http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html</link>
		<comments>http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html#comments</comments>
		<pubDate>Thu, 08 Oct 2009 13:02:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Ajax/JavaScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[OpenLaszlo]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[プラットフォーム]]></category>
		<category><![CDATA[リッチインターネット]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html</guid>
		<description><![CDATA[OpenLaszloとは、Laszlo Systems社が開発され、Web ブラウザ上でAjax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うため、オープンソースプラットフォームです。オープンソースですから、誰でも無料で使うことができます。
以下のような特徴があります。

オープンソース 
ライセンスは CPL ( Common Public License ) 
バージョン 4.0 からは従来の Flash コンテンツだけでなく、 Ajax と DHTML による動的コンテンツを同一のソースコードから生成することができる 
XML ベースのオブジェクト指向型言語でソースコードを記述する 
日本では Laszlo Japan などのコミュニティが活動を行っている 

 
  
●OpenLaszloのHello World
&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;canvas&#62;
&#160; &#60;text&#62;Hello World&#60;/text&#62;
&#60;/canvas&#62;
簡単でしょう？！残念ですが、現実問題として、OpenLaszloという名前を聞いたことのあるＩＴ関係者はほとんどいないようです。最近は少し増やしているらしい。
●OpenLaszlo サーバのインストール
OpenLaszloとサーバーサイド連携は、XMLデータでやり取りを行います。
・前準備として、バージョン 1.4 以上の Java SDKが必要です。
・次のURLから（http://www.openlaszlo.org/download）、インストーラをダウンロードします。Windows 、 MacOS 、 Linuxなどプラットフォームが対応されています。
・インストーラを実行すると、自動的にインストールが始まります。
ここまでサーバのインストールは終りました。
「スタート」メニューから、「 OpenLaszlo Server 」-「 OpenLaszlo Explorer 」を選んで、コマンドプロンプトから Tomcat が立ち上がり、ブラウザに OpenLaszlo Explorer が表示されます。それを利用して、チュートリアルやデモアプリケーションを実行することができます。
●開発環境
http://www.atmarkit.co.jp/fwcr/rensai/laszlo_adv01/laszlo_adv01_1.htmlを参考して、EclipseにOpenLaszlo用のプラグインをインストールして、間発環境を作れますので、ここではこの説明を省略いたします。
【関連リンク】
http://www.openlaszlo.org/ 公式サイト
Related [...]]]></description>
			<content:encoded><![CDATA[<p>OpenLaszloとは、Laszlo Systems社が開発され、Web ブラウザ上でAjax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うため、オープンソースプラットフォームです。オープンソースですから、誰でも無料で使うことができます。</p>
<p>以下のような特徴があります。</p>
<ul>
<li>オープンソース </li>
<li>ライセンスは CPL ( Common Public License ) </li>
<li>バージョン 4.0 からは従来の Flash コンテンツだけでなく、 Ajax と DHTML による動的コンテンツを同一のソースコードから生成することができる </li>
<li>XML ベースのオブジェクト指向型言語でソースコードを記述する </li>
<li>日本では Laszlo Japan などのコミュニティが活動を行っている </li>
</ul>
<p><a href="http://digitechlog.com/wp-content/uploads/2009/10/openlaszlo.png"><img title="openlaszlo" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="286" alt="openlaszlo" src="http://digitechlog.com/wp-content/uploads/2009/10/openlaszlo_thumb.png" width="484" border="0" /></a> </p>
<p><span id="more-673"></span>  </p>
<p>●OpenLaszloのHello World</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">canvas</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">text</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Hello World</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">text</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">canvas</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>簡単でしょう？！残念ですが、現実問題として、OpenLaszloという名前を聞いたことのあるＩＴ関係者はほとんどいないようです。最近は少し増やしているらしい。</p>
<p>●OpenLaszlo サーバのインストール</p>
<p>OpenLaszloとサーバーサイド連携は、XMLデータでやり取りを行います。</p>
<p>・前準備として、バージョン 1.4 以上の Java SDKが必要です。</p>
<p>・次のURLから（<a title="http://www.openlaszlo.org/download" href="http://www.openlaszlo.org/download">http://www.openlaszlo.org/download</a>）、インストーラをダウンロードします。Windows 、 MacOS 、 Linuxなどプラットフォームが対応されています。</p>
<p>・インストーラを実行すると、自動的にインストールが始まります。</p>
<p>ここまでサーバのインストールは終りました。</p>
<p>「スタート」メニューから、「 OpenLaszlo Server 」-「 OpenLaszlo Explorer 」を選んで、コマンドプロンプトから Tomcat が立ち上がり、ブラウザに OpenLaszlo Explorer が表示されます。それを利用して、チュートリアルやデモアプリケーションを実行することができます。</p>
<p>●開発環境</p>
<p><a title="http://www.atmarkit.co.jp/fwcr/rensai/laszlo_adv01/laszlo_adv01_1.html" href="http://www.atmarkit.co.jp/fwcr/rensai/laszlo_adv01/laszlo_adv01_1.html">http://www.atmarkit.co.jp/fwcr/rensai/laszlo_adv01/laszlo_adv01_1.html</a>を参考して、EclipseにOpenLaszlo用のプラグインをインストールして、間発環境を作れますので、ここではこの説明を省略いたします。</p>
<p><strong>【関連リンク】</strong></p>
<p><a title="http://www.openlaszlo.org/" href="http://www.openlaszlo.org/">http://www.openlaszlo.org/</a> 公式サイト</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/30/glaze-2d-rigid-body-dynamics-game-engine-for-actionsctipt-3.html" title="glaze: ActionScript用2D物理演算エンジン">glaze: ActionScript用2D物理演算エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/26/flartoolkit-open-source-augmented-reality-in-flash.html" title="FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ">FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html" title="Sandy 3D: オープンソースのFlash用3D描画エンジン">Sandy 3D: オープンソースのFlash用3D描画エンジン</a></li>
<li><a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html" title="PHPObject: PHPとFlashのActionScript連携パッケージ">PHPObject: PHPとFlashのActionScript連携パッケージ</a></li>
<li><a href="http://digitechlog.com/2009/06/22/silex-an-open-source-cms-ria-software-build-flash-websites.html" title="SILEX: WYSIWYGでFlashサイトを構築できるオープンソースのRIA開発ツール">SILEX: WYSIWYGでFlashサイトを構築できるオープンソースのRIA開発ツール</a></li>
<li><a href="http://digitechlog.com/2009/06/18/flivpee-flash-video-player-with-javascript-widgets-styled-with-css.html" title="Flivpee: JavaScriptを使ってFlash製の動画再生オープンソースのソフトウェア">Flivpee: JavaScriptを使ってFlash製の動画再生オープンソースのソフトウェア</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>５行ソースコードでHTML, CSS, AJAXの解析能力があるブラウザを作ろう</title>
		<link>http://digitechlog.com/2009/01/04/5-link-source-code-to-build-your-browse-support-html-css-ajax-in-adobe-air.html</link>
		<comments>http://digitechlog.com/2009/01/04/5-link-source-code-to-build-your-browse-support-html-css-ajax-in-adobe-air.html#comments</comments>
		<pubDate>Sun, 04 Jan 2009 09:07:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Ajax/JavaScript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/01/04/5-link-source-code-to-build-your-browse-support-html-css-ajax-in-adobe-air.html</guid>
		<description><![CDATA[昔の昔の昔…、VBの時代、Windows　OS環境だったら、VBでIEのようなブラウザを作成するのは、すっごく簡単ですよね。同じのような、Adobe　AIRがブラウザエンジンにWebKitを採用したことを気が付いたので、Googleで検索してサンプルやドキュメントを見ながら作ってみました。
注意しなければいけないものは、ブラウザスクリプトの設定は何もしていないので、文字化けを発生している可能性があります。
具体的な環境設定とか、アイコンファイルの配置とか、AIRファイルの作成とかは本文最後の「参考リソース」のURLを参照してください。以下は簡単なswfファイルを作成するソースコードだけをメモします。

下記のような「browser.mxml」というソースファイルを作ります。
&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
&#60;mx:WindowedApplication&#160;xmlns:mx=&#34;http://www.adobe.com/2006/mxml&#34; layout=&#34;vertical&#34;&#62;
&#160; &#160; &#60;mx:Label&#160;text=&#34;Please enter your URL and hit &#38;quot;enter&#38;quot;&#34;/&#62;
&#160; &#160; &#60;mx:TextInput&#160;id=&#34;URLtext&#34; width=&#34;100%&#34; enter=&#34;HTML.location=URLtext.text&#34;/&#62;
&#160; &#160; &#60;mx:HTML&#160;id=&#34;HTML&#34; location=&#34;http://www.google.com/ig&#34; width=&#34;100%&#34; /&#62;&#160;&#160; 
&#60;/mx:WindowedApplication&#62;
フルプロジェクトはここをクリックしてダウンロード出来ます。
参考リソース：
http://blog.codezine.jp/editor/2007/06/adobe_air_1.php
Related Posts

as3cannonball: DOM+HTML+CSS+BrowserのActionScript 3ライブラリ
OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム
PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ
CSSでFlexアプリケーションにMP3サウンドファイルを埋め込む操作
JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード
Adobe AIRアプリケーション中にPDFをプレビューする

]]></description>
			<content:encoded><![CDATA[<p>昔の昔の昔…、VBの時代、Windows　OS環境だったら、VBでIEのようなブラウザを作成するのは、すっごく簡単ですよね。同じのような、Adobe　AIRがブラウザエンジンにWebKitを採用したことを気が付いたので、Googleで検索してサンプルやドキュメントを見ながら作ってみました。</p>
<p>注意しなければいけないものは、ブラウザスクリプトの設定は何もしていないので、文字化けを発生している可能性があります。</p>
<p>具体的な環境設定とか、アイコンファイルの配置とか、AIRファイルの作成とかは本文最後の「参考リソース」のURLを参照してください。以下は簡単なswfファイルを作成するソースコードだけをメモします。</p>
<p><span id="more-218"></span>
<p>下記のような「browser.mxml」というソースファイルを作ります。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">utf-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:WindowedApplication</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">xmlns:mx</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.adobe.com/2006/mxml</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">layout</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">vertical</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Label</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">text</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Please enter your URL and hit </span><span style="color: Navy;">&amp;quot;</span><span style="color: Red;">enter</span><span style="color: Navy;">&amp;quot;</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:TextInput</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">URLtext</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">enter</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">HTML.location=URLtext.text</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:HTML</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">HTML</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">location</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.google.com/ig</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;">&nbsp;&nbsp; </span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:WindowedApplication</span><span style="color: Olive;">&gt;</span></li></ol></div>
<pre>フルプロジェクトは<a href="http://digitechlog.com/ext/AIR3_Browser.zip" target="_blank">ここ</a>をクリックしてダウンロード出来ます。</pre>
<p>参考リソース：</p>
<p><a title="http://blog.codezine.jp/editor/2007/06/adobe_air_1.php" href="http://blog.codezine.jp/editor/2007/06/adobe_air_1.php">http://blog.codezine.jp/editor/2007/06/adobe_air_1.php</a></p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/04/10/as3cannonball-dom-html-css-browser-library-for-actionscript-3.html" title="as3cannonball: DOM+HTML+CSS+BrowserのActionScript 3ライブラリ">as3cannonball: DOM+HTML+CSS+BrowserのActionScript 3ライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html" title="OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム">OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム</a></li>
<li><a href="http://digitechlog.com/2009/06/08/pngpong-an-open-source-solution-to-display-transparent-pngs-in-ie-firefox-and-safari.html" title="PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ">PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ</a></li>
<li><a href="http://digitechlog.com/2008/12/21/how-to-use-different-mp3-sound-file-with-css-in-flex.html" title="CSSでFlexアプリケーションにMP3サウンドファイルを埋め込む操作">CSSでFlexアプリケーションにMP3サウンドファイルを埋め込む操作</a></li>
<li><a href="http://digitechlog.com/2008/11/06/a-simple-example-of-the-ajax-support-in-javaserver-faces-jsf-20.html" title="JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード">JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード</a></li>
<li><a href="http://digitechlog.com/2008/11/03/preview-a-pdf-file-in-adobe-air-application.html" title="Adobe AIRアプリケーション中にPDFをプレビューする">Adobe AIRアプリケーション中にPDFをプレビューする</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/01/04/5-link-source-code-to-build-your-browse-support-html-css-ajax-in-adobe-air.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード</title>
		<link>http://digitechlog.com/2008/11/06/a-simple-example-of-the-ajax-support-in-javaserver-faces-jsf-20.html</link>
		<comments>http://digitechlog.com/2008/11/06/a-simple-example-of-the-ajax-support-in-javaserver-faces-jsf-20.html#comments</comments>
		<pubDate>Thu, 06 Nov 2008 04:22:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ajax/JavaScript]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaServer Faces]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[XMLHttpRequest]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2008/11/06/a-simple-example-of-the-ajax-support-in-javaserver-faces-jsf-20.html</guid>
		<description><![CDATA[JavaServer Faces (JSF) はJavaベースの Webアプリケーションフレームワーク であり、Java EEアプリケーションのユーザーインターフェイスの開発を簡単にする。表示技術として使用するが、JSFはXULなどの他の表示技術を利用することもできる。
Ajax（エイジャックス、アジャックス）は、ウェブブラウザ内で非同期通信とインターフェイスの構築などを行う技術の総称。XMLHttpRequest（HTTP通信を行うためのJavaScript組み込みクラス）による非同期通信を利用し、通信結果に応じてダイナミックHTMLで動的にページの一部を書き換えるというアプローチを取る。
最近、Web 2.0の発展にしたがって、Ajaxも広くてよく使われている。もともとWeb上で実現できない操作も、Ajaxを利用して素敵な実現できた。下記はJSF中にAjaxを利用するサンプルである。

まずは、下記のようなJSFソース：
import javax.faces.event.ActionEvent;
import&#160;javax.faces.model.ManagedBean;
import&#160;javax.faces.model.SessionScoped;
&#160;
@ManagedBean(name = &#34;count&#34;)
@SessionScoped
public&#160;class Count {
&#160; &#160; Integer&#160;count = 0;
&#160;
&#160; &#160; public&#160;Integer getCount() {
&#160; &#160; &#160; &#160; return&#160;count++;
&#160; &#160; }
&#160;
&#160; &#160; public&#160;void reset(ActionEvent ae) {
&#160; &#160; &#160; &#160; count = 0;
&#160; &#160; }
}
下記はフェイス部分のサンプルソース：
&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34;
&#160; &#160; &#160; &#160; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62;
&#60;html&#160;xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#160;
&#160; &#160; &#160; xmlns:h=&#34;http://java.sun.com/jsf/html&#34;&#62;
&#60;h:head&#62;
&#160; &#160; &#60;meta&#160;http-equiv=&#34;Content-Type&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>JavaServer Faces (JSF) はJavaベースの Webアプリケーションフレームワーク であり、Java EEアプリケーションのユーザーインターフェイスの開発を簡単にする。表示技術として使用するが、JSFはXULなどの他の表示技術を利用することもできる。</p>
<p>Ajax（エイジャックス、アジャックス）は、ウェブブラウザ内で非同期通信とインターフェイスの構築などを行う技術の総称。XMLHttpRequest（HTTP通信を行うためのJavaScript組み込みクラス）による非同期通信を利用し、通信結果に応じてダイナミックHTMLで動的にページの一部を書き換えるというアプローチを取る。</p>
<p>最近、Web 2.0の発展にしたがって、Ajaxも広くてよく使われている。もともとWeb上で実現できない操作も、Ajaxを利用して素敵な実現できた。下記はJSF中にAjaxを利用するサンプルである。</p>
<p><span id="more-130"></span>
<p>まずは、下記のようなJSFソース：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">import</span><span style="color: Gray;"> </span><span style="color: Blue;">javax</span><span style="color: Gray;">.</span><span style="color: Blue;">faces</span><span style="color: Gray;">.</span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">ActionEvent</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">javax</span><span style="color: Gray;">.</span><span style="color: Blue;">faces</span><span style="color: Gray;">.</span><span style="color: Blue;">model</span><span style="color: Gray;">.</span><span style="color: Blue;">ManagedBean</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">javax</span><span style="color: Gray;">.</span><span style="color: Blue;">faces</span><span style="color: Gray;">.</span><span style="color: Blue;">model</span><span style="color: Gray;">.</span><span style="color: Blue;">SessionScoped</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">@</span><span style="color: Blue;">ManagedBean</span><span style="color: Olive;">(</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">count</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">@</span><span style="color: Blue;">SessionScoped</span></li>
<li><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">class</span><span style="color: Gray;"> </span><span style="color: Blue;">Count</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">Integer</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">count</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Integer</span><span style="color: Gray;"> </span><span style="color: Blue;">getCount</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">count</span><span style="color: Gray;">++;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">reset</span><span style="color: Olive;">(</span><span style="color: Blue;">ActionEvent</span><span style="color: Gray;"> </span><span style="color: Blue;">ae</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">count</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>下記はフェイス部分のサンプルソース：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Gray;">!</span><span style="color: #00008b;">DOCTYPE</span><span style="color: Gray;"> </span><span style="color: #00008b;">html</span><span style="color: Gray;"> </span><span style="color: #00008b;">PUBLIC</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-//W3C//DTD XHTML 1.0 Transitional//EN</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">html</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">xmlns</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.w3.org/1999/xhtml</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">xmlns:h</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://java.sun.com/jsf/html</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">h:head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">meta</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">http-equiv</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-Type</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">content</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/html; charset=iso-8859-1</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">title</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Ajax</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">title</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">h:head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">h:body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h:form</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">form1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">prependId</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">false</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h:outputScript</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ajax.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">library</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javax.faces</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">target</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">head</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h:outputText</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">out1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#{count.count}</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">br</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">&lt;!-- Increment the counter on the server, and the client --&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h:commandButton</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Count</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #00008b;">onclick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javax.faces.Ajax.ajaxRequest(this, event, {execute: this.id, render: 'out1'}); return false;</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">br</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">&lt;!-- Resets the counter --&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h:commandButton</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">reset</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">reset</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">onclick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javax.faces.Ajax.ajaxRequest(this, event, {execute:'reset', render: 'out1'}); return false;</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">actionListener</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#{count.reset}</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">h:form</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">h:body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">html</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html" title="OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム">OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム</a></li>
<li><a href="http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html" title="Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス">Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</a></li>
<li><a href="http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html" title="Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー">Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー</a></li>
<li><a href="http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html" title="JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ">JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</a></li>
<li><a href="http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html" title="OpenAMF: オープンソースのJava Flashリモートツール">OpenAMF: オープンソースのJava Flashリモートツール</a></li>
<li><a href="http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html" title="Javaでデータをエクセルにエクスポートするクラスと使用例">Javaでデータをエクセルにエクスポートするクラスと使用例</a></li>
<li><a href="http://digitechlog.com/2009/05/11/how-to-split-csv-file-in-java-with-split-function.html" title="Javaでsplitを使ってＣＳＶファイル読み込み">Javaでsplitを使ってＣＳＶファイル読み込み</a></li>
<li><a href="http://digitechlog.com/2009/03/06/eclipse-an-open-extensible-ide-for-anything-and-nothing-in-particular.html" title="Eclipse: オープンソースの統合開発環境(IDE)である">Eclipse: オープンソースの統合開発環境(IDE)である</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2008/11/06/a-simple-example-of-the-ajax-support-in-javaserver-faces-jsf-20.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

