Durian

ColdFusionリファレンス

ColdFusionリファレンス


ColdFusionタグの対応表

ColdFusionのタグの中にはJavaアプレット等、携帯電話のWebブラウザでは表現できないものがあります。

また、Durianの機能制限として、一部のタグがうまく表示されないものがあります。

以下にその対応表を示します。

タグ 対応 説明
cfabort △ showerror 属性で exception を出力した場合、デフォルトのエラー画面は表示できません。
cfapplet × 携帯ブラウザ上での Java アプレット未対応のため動作しません。
cfapplication △ クライアント変数の保存先を Cookie に設定できません。
cfargument ○
cfassociate ○
cfbreak ○
cfcache △ クライアントキャッシュには対応していません。
cfcalendar × Flash フォーム形式の出力には対応していません。
cfcase ○
cfcatch ○ ※cferror, cfrethrow と組み合わせる場合には、cferror,cfrethrow タグの情報も参照してください。
cfchart △ Flash 形式のグラフには対応していません。
cfchartdata (同 cfchart)
cfchartseries (同 cfchart)
cfcol △ html テーブル形式で結果を出力した場合、レイアウト崩れが発生します。pre 形式で結果を出力した場合も、レイアウト崩れが発生する場合があります。
cfcollection ○
cfcomponent (同 cfargument)
cfcontent △ アクセスした端末に未対応の形式を指定した場合、携帯で表示できない場合があります。GIF/PNG/JPEG画像については、Durianが画像変換を行うため、機種によらず表示可能です(画像変換オプションを使用する場合のみ)。
cfcookie △ Cookie 非対応端末は使用できません。
cfdefaultcase (同 cfcase)
cfdirectory ○
cfdocument △ アクセスした端末が PDF、FlashPaper 形式に対応しないため、表示できません。
cfdocumentitem (同 cfdocument)
cfdocumentsection (同 cfdocument)
cfdump △ スカラ値以外は、HTMLテーブルで表示されるため、携帯ではレイアウト崩れが発生します。
cfelse (同 cfif)
cfelseif (同 cfif)
cferror △
cfexecute △ cfexecute タグによる実行プログラムの実行結果がアクセスした端末に未対応の形式で戻された場合、表示できない場合があります。GIF/PNG/JPEG画像については、Durianが画像変換を行うため、機種によらず表示可能です(画像変換オプションを使用する場合のみ)。
cfexit ○
cffile △ ファイルのアップロード等、携帯で機能していない処理は対応外となります。
cfflush △ Durianがレスポンスをバッファリングするため、flushの効果はありません。
cfform △ クライアントサイドの検証(JavaScript)、Flash フォーム、XML フォームは、携帯電話で機能しないため、対応外となります。また、Preservedata, OnSubmit 等、JavaScript により機能する処理には対応していません。
cfformgroup × Flash フォーム・XML フォーム用のタグのため、対応していません。
cfformitem × Flash フォーム用のタグのため、対応していません。
cfftp ○
cffunction ○
cfgrid × applet, flash 形式で出力されるため、対応していません。
cfgridcolumn (同 cfgrid)
cfgridrow (同 cfgrid)
cfgridupdate (同 cfgrid)
cfheader △ header の内容によっては、携帯で正しく対応できない場合があります。
cfhtmlhead △ head部に script 等を追加した場合、携帯では正しく対応できません。
cfhttp ○ 取得した http 結果の形式・内容によっては、携帯では正しく対応できない場合があります。
cfhttpparam (同 cfhttp)
cfif ○
cfimport ○
cfinclude ○
cfindex (同 cfcollection)
cfinput (同 cfform) type="file" によるファイルのアップロードは携帯では対応していません。type="datefield" は Flashフォーム形式で用いる要素のため、携帯では対応していません。※ cfform タグの制限も合わせて確認ください。
cfinsert ○
cfinvoke ○
cfinvokeargument ○
cfldap ○
cflocation ○
cflock ○
cflog ○
cflogin
cfloginuser (同 cflogin)
cflogout (同 cflogin)
cfloop ○
cfmail ○
cfmailparam ○
cfmailpart ○
cfmodule ○
cfNTauthenticate ○
cfobject ○
cfobjectcache ○
cfoutput ○
cfparam ○
cfpop ○
cfprocessingdirective ○
cfprocparam ○
cfprocresult (同 cfprocparam)
cfproperty ○
cfquery ○
cfqueryparam (同 cfquery)
cfregistry ○
cfreport △ サーバー側でレポートファイル(PDF、FlashPaper 形式)のファイルは作成可能ですが、携帯電話の画面への出力などは行えません。
cfreportparam (同 cfreport)
cfrethrow △
cfreturn (同 cfargument)
cfsavecontent ○
cfschedule ○
cfscript ○
cfsearch (同 cfcollection)
cfselect (同 cfform) XMLフォーム、Flashフォームに関する属性は使用できません。
cfset ○
cfsetting ○
cfsilent ○
cfslider × Java Applet 形式の出力のため、対応していません。
cfstoredproc (同 cfprocparam)
cfswitch ○
cftable (同 cfcol)
cftextarea (同 cfform) XMLフォーム、Flashフォームに関する属性は使用できません。
cfthrow ○
cftimer ○
cftrace △ inline で画面に出力した場合、HTMLテーブルで表示されるため、携帯を経由すると表示が崩れます。
cftransaction ○
cftree × applet, flash 形式で出力されるため、対応していません。
cftreeitem (同 cftree)
cftry (同 cfcatch)
cfupdate ○
cfwddx △ cfml2js、wddx2js: による JavaScript 操作には携帯電話では対応していません。

端末情報の取得

ColdFusionでの端末情報の取得は以下のようになります。

端末情報のキーの詳細・意味は端末情報取得を参照してください。

例:端末情報からキャリア情報を取得し、表示する場合
<cfscript>
	termInfo = request["termInfo"];
       	value = termInfo["carrier[1]"];
	WriteOutput("キャリアは#value#です");
</cfscript>
例:端末情報から全ての情報を取得し、表示する場合
<table>
<tr><th>キー</th><th>値</th></tr>

<cfscript>
	termInfo = request["termInfo"];
	keys = StructKeyArray(termInfo);
	ArraySort(keys, "text");
	for (i = 1; i LTE ArrayLen(keys); i = i + 1) {
		key = keys[i];
		value = termInfo[key];
		WriteOutput("<tr><td>#key#</td><td>#value#</td></tr>");
	}
</cfscript>

</table>


ユーザ情報の取得

ColdFusionでのユーザ情報の取得は以下のようになります。

ユーザ情報のキーの詳細・意味はユーザ情報取得を参照してください。

例:ユーザ情報から各情報を取得し、表示する場合
<cfscript>
	userInfo = request["userInfo"];
	accessCount = userInfo["accessCount"];
	host = userInfo["host"];
	requestUri = userInfo["requestUri"];
	previousUri = userInfo["previousUri"];
	if (StructKeyExists(userInfo, "userId")) {
		userId = userInfo["userId"];
	}
	if (StructKeyExists(userInfo, "serialNumber")) {
		serialNumber = userInfo["serialNumber"];
	}
	if (StructKeyExists(userInfo, "validRemoteIp")) {
		validRemoteIp = userInfo["validRemoteIp"];
	}
</cfscript>
<cfoutput>
アクセス数:#accessCount#<br>
今回リクエストURI:#requestUri#<br>
前回リクエストURI:#previousUri#<br>
<cfif IsDefined("userId")>
	ユーザーID:#userId#<br>
<cfelse>
	ユーザーID:取得できません<br>
</cfif>
<cfif IsDefined("serialNumber")>
	製造番号:#serialNumber#<br>
<cfelse>
	製造番号:取得できません<br>
</cfif>
<cfif IsDefined("validRemoteIp")>
	有効リモートIP:#validRemoteIp#<br>
<cfelse>
	有効リモートIP:取得できません<br>
</cfif>
</cfoutput>

絵文字APIの利用

ColdFusionでもcfobjectタグによって絵文字APIを利用できます。

絵文字の出力サンプルコード(iモードXHTML)

<cfscript>
	headers = GetHttpRequestData().headers;
	useragent = headers["User-Agent"];
	glyphUtils = CreateObject("java", "jp.co.symmetric.durian.extra.GlyphUtils");
	decodedText = glyphUtils.decodeGlyph(Form.text, useragent);
	encodedDecodedText = glyphUtils.encodeGlyphForIxhtml(decodedText);
</cfscript>
<cfoutput>#encodedDecodedText#</cfoutput>
Durian® is a registered trademark of Symmetric Co., Ltd.

© 2006- All Rights Reserved Symmetric Co., Ltd.