5

初めての ColdFusion コンポーネントを作成していますが、このエラーが発生します。これが何を意味するのか誰にも分かりますか?

Invalid CFML construct found on line 2 at column 1.
ColdFusion was looking at the following text:
<
The CFML compiler was processing:
< marks the beginning of a ColdFusion tag.Did you mean LT or LTE?
The error occurred in C:/inetpub/wwwroot/ColdFusion/test.cfm
<cfcomponent displayname="News" hint="Get News">
<cffunction name="GetNews" returntype="query">
<cfquery datasource="CFDatabase" name="myQuery"

ソースコード:

<cfcomponent displayname="News" hint="Get News">
<cffunction name="GetNews" returntype="query">
    <cfquery datasource="CFDatabase" name="myQuery">
        select * from tbNews
    </cfquery>
    <cfreturn myQuery>
</cffunction>
</cfcomponent>

<cfinvoke component="components.News" method="GetNews" returnvariable="AllNews">

<table width="100%">
<cfoutput query="AllNews">
<tr>
    <td>Title:</td>
    <td><cfoutput>#myQuery.Title#</cfoutput></td>
    <td>Body:</td>
    <td><cfoutput>#myQuery.Description#</cfoutput></td>
</tr>
</cfoutput>
</table>
4

3 に答える 3

9

<cfcomponent>を cfm ファイル内に配置しました。これは許可されていません。

<cfcomponent>ブロックを拡張子が .cfc のファイル (News.cfc など) に移動し、.cfm ファイルから呼び出します。

News.cfcで

<cfcomponent>
<cffunction name="getNews">
...
</cffunction>
</cfcomponent>

test.cfm で

<cfset newsObj = createobject('component', 'News')>
<cfset AllNews = newsObj.getNews()>
于 2012-11-13T10:35:58.443 に答える
2

エラーは test.cfm というファイルにあり、CFC でコードを示していますが、これはあまり役に立ちません。

ただし、エラー メッセージはかなり明確です<。間違った場所で a を使用しています。そして、それは test.cfm の 2 行目にあります (または、1 行目の何かからの連鎖反応である可能性があります)。

質問を更新して、話している実際のコードを投稿できますか?

しかし、1 行目から 2 行目を見て、構文エラーを探してください。未満評価を行っている表現があり、LT / LTE の代わりに < を使用していますか (エラー メッセージのガイダンスに従って...)

于 2012-11-13T10:27:01.080 に答える
0

>これと同じエラーが発生し、タグの 1 つの末尾に (大なり記号) がないことがわかりましcfた。これはたまたま<cfif>. だから、私は変わりました

<cfif condition EQ true</cfif>

<cfif condition EQ true></cfif>

#別の機会に、HTML 要素の in a style 属性で同様の問題に遭遇しました。にあったためcfoutput、ColdFusion は、ハッシュタグで始まる 16 進数のカラー値として意味するものを ColdFusion 変数としてレンダリングしようとしましたが、2 番目のハッシュタグで閉じられませんでした。だから私はインラインスタイルを外部スタイルシートに変更しました。

于 2020-01-14T01:10:41.953 に答える