2013-06-10 2 views
0

Несмотря на подавление пробелов и обрезку переменной, ColdFusion 9 всегда добавляет пробелы с обеих сторон переменных выходов. Вот пример моего кода и вывода, который сводит меня с ума;Пользовательский тег 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#"> 

я получить точную строку, в дб. Здесь нет пространств по обе стороны от укуса. Но когда я использую этот тег на других страницах, как показано ниже;

<cf_my_tag param=someparam param2=someotherparam> 

Я получаю строку с пробелами с обеих сторон.

Это то, что происходит после того, как я использую:

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

... и это то, что я хочу:

(some string from db) 

Поскольку я не могу управлять пользовательскими тегами на то, где я их использовать (как trimmig или строковые процессы и т. д.), я думаю, что мне нужно что-то частная часть тега.

Что может быть причиной или что я должен сделать, чтобы избавиться от этих пробелов? Могут ли быть некоторые проблемы с конфигурацией в ColdFusion Server?

Спасибо всем!

ответ

4

Ваш заголовок вводит в заблуждение, так как он не имеет никакого отношения к trim(), который отлично работает. Вы предлагаете этот код является виновником:

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

Однако я думаю, что если вы измените его такой:

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

Вы не увидите никаких неожиданных пробелов между квадратными скобками.

Что вы потом сказать, в остальной части вашего вопроса в том, что это этот, испускающий посторонний пробельные:

<cf_my_tag param=someparam param2=someotherparam> 

Так что вопрос на самом деле один спрашивает о пользовательских тегов, испускающих неожиданные пробелы, который, я боюсь, для чего отмечены какие-то пользовательские теги.

Вы можете уменьшить это частично, поместив весь свой код в файл тега в теги <cfsilent>.

+0

Вы правы, я собираюсь изменить заголовок. Тогда я попробую что-то еще в моем файле тега. –

+0

Итак, в связи с вашим предложением помогло мне решить проблему. Тем не менее, я не знаю, почему это произошло, но после того, как я изменил свой код на простой способ и отделил ненужные части от файла тега, он неожиданно решил. Я думаю, что проблема выходит из текстового редактора на сервере, потому что по-прежнему это происходит по какой-либо причине в некоторых файлах, написанных на текстовом редакторе серверов. Возможно, он добавляет одиночный пробел в физический файл, я не мог получить. Что ж, спасибо тебе. –

 Смежные вопросы

  • Нет связанных вопросов^_^