簡體   English   中英

Tapestry5:嘗試加載javascript文件

[英]Tapestry5 : Trying to load javascript file

我陷入了真正奇怪的錯誤。 我有一個掛毯頁面,我試圖在其中導入一個javascript文件。 以前,我要導入extjs-version3.js文件(效果很好),然后想導入extjs-version4.js文件。 因此,我從文件系統中刪除了version3文件,將version4文件添加到文件系統中,並更改了掛毯頁面的Java代碼以導入version4文件。 但是我總是收到錯誤消息,“ version3文件不存在”!

調試時,我更改了頁面的Java代碼,以使其現在不導入任何文件。

因此,現在我的頁面沒有導入任何javascript文件,但仍然出現錯誤“ version3文件不存在”。

以下是確切的詳細信息。

導入javascript文件的MyPage.java。

@Import(
        library = {
            //"context:js/lib/extjs3/adapter/ext/ext-base-debug.js", 
            //"context:js/lib/extjs3/ext-all-debug-w-comments-v4.js",
            /*"context:js/lib/ext_compat_layer/ext3-compat.js",
            "context:js/lib/ext_compat_layer/ext3-core-compat.js",*/
            //"context:js/page/ActivitiesTab.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.grid.Search.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.IconMenu.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.Toast.js"
        }, 
        stylesheet = {
            /*"context:js/lib/extjs3/resources/css/ext-all.css", 
            "context:js/lib/extjs3/resources/css/xtheme-gray.css",
            "context:js/lib/extjs3/resources/css/theme-gray/core.css",*/
            //"context:js/lib/extjs3/resources/css/icons.css",
            //"context:js/lib/extjs3/resources/css/gridsearch.css"
        }
    )

我收到的錯誤的堆棧跟蹤。

An unexpected application exception has occurred.

    org.apache.tapestry5.ioc.internal.OperationException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    trace
            Constructing instance of page class net.semandex.salsa.tapestry.pages.ActivitiesTab

    java.lang.RuntimeException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    Hide uninteresting stack frames Stack trace
            org.apache.tapestry5.internal.services.AssetSourceImpl.getLocalizedAssetFromResource(AssetSourceImpl.java:135)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetInLocale(AssetSourceImpl.java:105)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:85)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:206)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:203)
            org.apache.tapestry5.func.LazyMappedValue.get(LazyMappedValue.java:31)
            org.apache.tapestry5.func.LazyFlow.first(LazyFlow.java:52)
            org.apache.tapestry5.func.AbstractFlow$1.next(AbstractFlow.java:68)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:47)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:40)
            org.apache.tapestry5.func.AbstractFlow.toList(AbstractFlow.java:205)
            org.apache.tapestry5.internal.transform.ImportWorker.convertPathsToAssets(ImportWorker.java:202)
            org.apache.tapestry5.internal.transform.ImportWorker.access$100(ImportWorker.java:40)
            org.apache.tapestry5.internal.transform.ImportWorker$4.advise(ImportWorker.java:190)
            org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
            net.semandex.salsa.tapestry.pages.ActivitiesTab.containingPageDidLoad(ActivitiesTab.java)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:120)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:977)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:829)
            org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:171)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:190)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
            org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
            org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
            org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
            org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
            org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
            org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
            org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
            org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
            org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
            org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
            org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
            net.semandex.salsa.tapestry.services.AppModule$1.service(AppModule.java:164)
            org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
            org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
            org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
            org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
            org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:50)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
            org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
            org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
            org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
            org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
            org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
            org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
            org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) 

MyPage.tml文件非常簡單,沒有任何可疑之處,但是如果需要,我可以發布代碼。

為什么Tapestry嘗試加載未包含在任何頁面中的js文件?

更新:

實際上,無論我在@Import批注中寫什么,文件總是根據先前的代碼導入。 所有頁面都在發生這種情況。

這可能是由於模板中的某些組件無法加載資產或由MyPage擴展的父模板引起的。

根據net.semandex.salsa.tapestry.pages.ActivitiesTab ,頁面net.semandex.salsa.tapestry.pages.ActivitiesTab是導致此問題的原因。 MyPage可能將其加載到某個地方。

現在解決。 問題出在我的生產環境中,而不是在Tapestry中。 更改Java類文件時,Eclipse並未對其進行更新。 因此,基於頁面Java文件中的先前代碼導入了javascript文件。

Eclipse報告了以下問題。 “由於“無法刪除'/ someName / bin /”,所以未構建該項目。解決該問題,然后嘗試刷新並構建該項目,因為它可能不一致。”我提到了這個問題,並解決了我的問題。

簡單的刷新,清除/發布並不能解決我的問題。 我必須關閉Eclipse並重新啟動PC。 這修復了我的環境,現在Eclipse正在正確更新Java類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM