2009-06-08 11 views
0

私はJSFページからパーツを構成するために必要なWebアプリケーションを持っています。したがって、たとえば、私のアプリケーションは、以下のようなフォルダ/ファイル構造を持ついくつかの小さな部分ごとに分割された想像:ページはめ込み構成の作成方法。経由でc:セット?

/partname 
    /config 
     config.xhtml 
    /template 
     generaltemplate.xhtml 
    search.xhtml 
    results.xhtml 

によってsearch.xhtml & results.xhtml両方のテンプレートファイル、generaltemplate.xhtmlを使用しています。このgeneraltemplateには、config.xhtmlの内容を含める必要があります。計画では、すべての共有構成をこのページに入れて、アプリケーションがアクセスできるようにします。しかし、私はこれを行うのに苦労している。

< c:config.xhtmlに>を設定して変数を作成すると、その設定ページからのみアクセスできるように見えます。以前は私はちょうど<の範囲を変更していたでしょう:>を要求してください、そして、問題は解決されるでしょう。しかし、JSFが別の方法で動作するので、私はこの場合のスコープが役に立たないことを知っています。

この1ページですべての設定を作成してから、自分のアプリケーション全体にアクセスできるようにする方法について、他に提案がありますか?

このアプリはSeamを使用して書かれているので、Seamのものを使用するとオプションになる可能性があります。

+0

これはMVCパターンの仕組みではなく、間違った場所に設定していることを理解しています。しかし残念なことに私の手はこれに縛られており、私は必要なことをする最も簡単な方法を探しています。 –

答えて

0

SeamはModel-View-Controller(MVC)フレームワークです。ビューはJSFページを使用して実装されています。構成はモデルの一部であり、ページに入れてはいけません。

適切なレイヤーを実装するには、JSFページで参照する、何らかの種類のグローバルにアクセス可能なBean(おそらく.propertiesファイルから作成されたSeamによってインスタンス化される)に設定することをお勧めします。

0

どのくらいのリファクタリングが関係するのかわかりませんが、適切なスコープになる構成Beanを作成してから、c:setタグを使用して構成Beanを設定できます。その後、あなたのページの後で、変数に直接アクセスするのではなく、構成Beanを使用することができます。設定の問題:あなたのテンプレートで

:この場合

... 
<html ... 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
... 
<body> 
    <ui:param name="testParam" value="Test" /> 

    <ui:insert name="test"> 
    </ui:insert> 
... 

UIの値:paramがあることを変数として使用することができますが、Cのために、フェイスレットを使用することができると仮定すると、

1

テンプレートを使用するページで使用されます。テンプレートを使用して

ページ:そうは言って

... 
<html ... 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
... 
<body> 
<ui:composition template="/WEB-INF/templates/template.xhtml"> 
    <ui:define name="test"> 
<h:outputText value="#{testParam}" /> 
... 

は、私は、これは実際に使用されなければならない非常に少数の例を考えることができます。あなたの手が縛られていない限り、アプリケーション/セッションスコープのBeanから値を取得する必要があります。

編集:私は非常に忙しかったし、頭に浮かんだ最初の答えを使用して、以前のチェックを倍増ないため

私は謝罪、しかし、私は交流を使用して検証:UIの代わりに設定:paramが働くだろう以前定義された設定を使用して同様に同様に使用します。だから、テンプレートの代わりにすることができます。これはxmlns:c = "http://java.sun.com/jstl/core"も含める必要があることを意味します。これはあなたがすでに持っていると確信しています。

関連する問題