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.