Если я использую следующий код в своем компоненте:
<cfpdf action="merge" name="tender">
</cfpdf>
, я получаю следующую ошибку:
Закрывающий тег '' не соответствует текущему родительскому элементу: 'cffunction '
Однако, если я изменю код на:
<cfpdf action="merge" name="tender" />
, я не получаю ошибок.Обратите внимание, что единственный способ изменить код - это закрыть тег.Может кто-нибудь объяснить мне, почему это и даже лучше, скажите мне, как обойти это?
Ошибка отображается в CFEclipse в представлении «проблемы», но не возникает, когда я запускаю код на сервере.
Настройка системы: Win7, запуск Eclipse Indigo с CFEclipse v.1.4.3.Сервер работает под управлением Coldfusion 8.
Обновление 1:
Если я просто игнорирую ошибку разбора, которую показывает CFEclipse, и запускаю код на сервере, он работает должным образом.Я думаю, это говорит о том, что это действительно что-то с самим CFEclipse, как предложил Питер Боутон, а не проблема в самом коде.
На всякий случай вот полный код функции (обратите внимание, что это непроизводственный код, я сейчас просто тестирую, чтобы получить то, что мне нужно для работы):
<cffunction name="GetTenderPDF" access="remote">
<cfargument name="Info" type="String" required="true" />
<cfset var Tender = {} />
<cfset var InfoJson = URLDecode(Arguments.Info) />
<cfif Not IsJSON(InfoJson)>
<cfreturn Error(Messages.NOT_JSON) />
</cfif>
<cfset Tender = DeserializeJSON(InfoJson) />
<cfset templatePath = "templates/tenderTemplate_"&Tender.GROUP&".cfm" />
<cfheader name="Content-Disposition" value="attachment; filename=offert.pdf" />
<cfdocument format="pdf" name="mydocument">
<cfloop index="x" from="1" to="15">
<p>
lorem upsom doloras paris hilton is my hero loreum ipsom dsoio foom an to dht end of the world
will anyone actually read this probably not but let me put more realtext in so it flows a bit nicely
<cfloop index="y" from="1" to="#randRange(1,9)#">This sentence will appear a random amount of time.</cfloop>
</p>
</cfloop>
</cfdocument>
<cfdocument format="pdf" name="base">
<cfinclude template="#templatePath#" />
</cfdocument>
<!--- <cfpdf action="merge" name="tender" /> --->
<cfpdf action="merge" name="tender">
<cfpdfparam source="base" />
<cfpdfparam source="mydocument" />
</cfpdf>
<cfcontent type="application/pdf" reset="true" variable="#toBinary(tender)#" />
</cffunction>