2

XPagesを使用したモバイルアプリケーションに取り組んでいます。デバイス上でローカルにリソースをキャッシュすることで、処理を高速化しようとしています。これは、拡張ライブラリのコントロールを使用する簡単な作業ではありません(たとえば、一部のページで先行入力があります)。

したがって、2つのアプローチをベンチマークできるように、jQueryMobileを使用してパラレルインターフェイスを構築することにしました。

これを行う際に、jQuery Mobile XPageのリソースを処理して、必要なリソースのみをロードするようにします。つまり、dojoのロードを回避します(このページには短いガイドがあります:http://dpastov.blogspot.dk/2011 / 01 / try-to-get-full-control-over-xpage.html)。私が見つけたソリューションの問題は、それらがアプリケーション全体に及ぶことです。例:設定

xsp.client.script.libraries=none

xsp.propertiesは、データベース内のすべてのXPages(アプリのExt.libバージョンを含む)に対して有効になります。「XPagesPortableCommandGuide」のガイドに従って、個々のXPage(jQuery Mobileのもの)のプロパティを次のように設定しようとしました。

    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" disableTheme="true" createForm="false">
        <xp:this.properties>
            <xp:parameter name="xsp.client.script.libraries" value="none">  
            </xp:parameter>
        </xp:this.properties>

残念ながら、これは機能していないようです。

2番目のXPageを別のデータベースに配置できることは知っていますが、それは他の問題を引き起こすため、それを避けたいと思います。

何か案は?

/ジョン

4

2 に答える 2

4

追加することでdojoライブラリを無効にできます

facesContext.getRequestParameters().setJsLibrary(0);

XPageのbeforeRenderResponseまたはbeforePageLoadイベントに。

于 2012-10-16T09:58:38.820 に答える
0

jQueryの設計にセカンダリデータベースを使用するのは合理的と思われます。次に、セカンダリデータベースからUIをロードし、(a)プライマリデータベースのajax/restコントロールへのajax呼び出しを使用する必要があります。リソースまたはクラシックページ(パススルーHTMLに設定)からUIをロードすることもできます。

オプションの明確化(各箇条書きは個別のアプローチです):

  • セカンダリデータベースを使用する(最も望ましくない)
  • 最初のjQueryUI(実際のデータを除く)をクラシックページに配置し、XPageにあるJSONコントロール(extlibから)からのREST呼び出しを使用してデータをロードします
  • XAgentを使用して最初のjQueryUIをロードし、REST/JSONを使用してデータを入力します

お役に立てば幸い

于 2012-10-15T14:45:17.263 に答える