Я переношу очень старое приложение (в настоящее время работающее в CF8) на Lucee. Но у меня возникла проблема с тем, что кажется каким-то пользовательским тегом.
Я попытался убедиться, что все виртуальные каталоги в IIS одинаковы как для старой, так и для новой установки. И убедитесь, что пути сопоставления и пользовательских тегов в CFIDE и Lucee Admin одинаковы.
Но я получаю эту ошибку. И не могу понять, как создается этот cflink
.
Я нашел код ошибки в строке 300 файла utils.cfc
Я не использовал пользовательские теги в течение длительного времени, но думал, что они обычно вызываются с символом подчеркивания, и код должен больше походить на <cf_link pageid="#LinkPageID#" Init="start">
, если это вызывается как пользовательский тег.
Если я перейду к текущему серверу CF, на котором запущено это приложение, я обнаружу, что файлы cfclass были созданы Из файла с именем cflink.cfm в каталоге с именем "теги" даже хотя кажется, что для каталога «теги» нет сопоставления, и он не указан в разделе «Пути настраиваемых тегов» в администраторе.
Это приложение было запущено в 2003 году и, как вы можете себе представить, превратилось в несоответствие спагетти-кода, и с самого начала никто не мог спросить, как создается этот тег.
Есть ли у кого-нибудь с опытом работы с устаревшим кодом какие-либо другие идеи, где я должен искать, чтобы попытаться заставить это работать? В настоящее время у меня есть только производственная среда, и если я смогу заставить ее работать с Lucee, это будет не только среда разработки, которой не было здесь 10 лет, но и отличный способ для меня продолжать демонстрировать Lucee как отличный двигатель CFML
Добавление дополнительной информации
Ли спросил, может ли init быть ссылкой на jar, но в файле cflink.cfm я вижу этот код:
<cfif Attributes.Init IS "start">
<cfset Request.PageID = Attributes.PageID>
<cfset Request.Page_Width = Variables.qParentInfo.Page_Width>
<cfset Request.Page_Height = Variables.qParentInfo.Page_Height>
<cfset Request.Page_TypeID = Variables.qParentInfo.Page_TypeID>
<cfset Request.AddPath = "">
<cfif IsDefined("Attributes.Anchor")>
<cfset Request.Anchor = Attributes.Anchor>
<cfelse>
<cfset Request.Anchor = "">
</cfif>
<cfset Request.IsInternalLink = false>
<cfexit method="EXITTAG">
</cfif>
Также есть ссылки на cflink в коде внутри tags\cflink.cfm
<cfif Len(Variables.qParentInfo.ParentID) GT 0>
<!--- Add the page title to the end of the path --->
<cfset Request.AddPath = ReplaceNoCase(Variables.qParentInfo.Nav_Title," ","_","ALL") & "/" & Request.AddPath>
<cflink init="working" pageid="#Variables.qParentInfo.ParentID#" popcode="#Attributes.popcode#">
<cfelse> ......</cfif>
Хотя это может быть рекурсия, учитывая, что она была написана в 2004 году, я немного сомневаюсь в этом.
Добавление скриншотов результатов поиска
cfimport
звонков не проверяли? Вы можете делать некоторые творческие вещи с библиотеками тегов. - person Leigh   schedule 08.12.2015link.cfm
. Это должно быть где-то - person James A Mohler   schedule 09.12.2015cf
. Развеcf_
не добавляется автоматически или Люси отличается? - person James A Mohler   schedule 09.12.2015GETPAGEPATHS
. Это похоже на пользовательскую функцию внутри cflink. - person James A Mohler   schedule 09.12.2015cflink.*
- person James A Mohler   schedule 09.12.2015<cflink...>
? Может не. Кроме того, длинный выстрел, но ... есть ли какие-либо пользовательские банки в пути к классу или WEB-INF\lib? (Изменить) Джеймс. Да, поиск ссылок без тегов наcflink
(только) — хорошая идея. Имя init заставило меня задуматься, может быть, это какой-то тег Java? - person Leigh   schedule 09.12.2015data\cflink.cfm
— это файл, на который ссылается код (если только это не старый код, который никогда не удалялся ;-). Если да, то я в недоумении, как они это сделали. Во всяком случае, для улыбки, что произойдет, если вы используете<cf_link>
, а не<cflink>
? - person Leigh   schedule 09.12.2015the function init has an invalid return value , can't cast null value to value of type [this]
, но я не уверен, связано это или нет. Я понимаю, что файл jar представляет собой скомпилированный файл и может содержать что угодно. имена наверняка не представляют ничего похожего на ссылку или cflink, но есть несколько банок с непонятным именем. Есть ли простой поиск по их содержимому? - person Lance   schedule 10.12.2015