0

空白を抑制して変数をトリミングしても、ColdFusion 9 は常に変数出力の両側に空白を追加します。これは、私を夢中にさせるコードと出力の例です。

これはカスタム タグの部分です。

    <cfprocessingdirective suppresswhitespace="Yes">
        <cfquery name="get_something" datasource="some_dsn">
        SELECT SOMETHING FROM SOME_TABLE WHERE SOME_VALUES = PARAMETERS
        </cfquery>
        <cfoutput>#Trim(get_something.something)#</cfoutput>
    </cfprocessingdirective>

を使用してこの値をダンプした後、

<cfdump var="#get_something.something#">

db にある正確な文字列を取得します。ここでは、スティングの両側にスペースはありません。しかし、以下に示すように、他のページでこのタグを使用すると;

<cf_my_tag param=someparam param2=someotherparam> 

両側に空白がある文字列を取得します。

これは私が使用した後に起こることです:

(<cf_my_tag params>) = ( some string from db ) 

...そしてこれが私が欲しいものです:

(some string from db) 

カスタムタグを使用する場所(トリミングや文字列プロセスなど)で操作できないため、カスタムタグ部分が必要だと思います。

これらの空白を取り除くために何をすべきか、またはその理由は何ですか? ColdFusion Server の設定に問題がある可能性はありますか?

皆さん、ありがとうございました!

4

1 に答える 1

4

とは何の関係もないので、あなたの見出しは誤解を招きtrim()ます。これは正常に機能します。このコードが原因であると示唆しています:

<cfoutput>#Trim(get_something.something)#</cfoutput>

ただし、これを次のように変更すると、次のようになります。

<cfoutput>[#Trim(get_something.something)#]</cfoutput>

角かっこの間に予期しない空白はありません。

次に、質問の残りの部分で言い続けることは、無関係な空白を放出するのはこれだということです。

<cf_my_tag param=someparam param2=someotherparam>

したがって、質問は実際には、予想外の空白を発するカスタム タグについて質問するものです。

タグのファイル内のすべてのコードをタグに入れることで、これを部分的に軽減でき<cfsilent>ます。

于 2013-06-10T07:50:42.520 に答える