0

私の質問は少し複雑です。私はマネージド Bean を持っています。おそらくセッション スコープのものです。この Bean では、いくつかの要素 (幅、高さ、X、Y 座標など) についてデータベースに格納されている情報を取得します。しかし、これらの要素の番号は動的に保存されます。つまり、特定の番号を持っていないことを意味します。また、内部に別の要素がネストされている可能性もあります。

div の位置と座標、およびその中の p 要素とその情報を保存するように、マネージド Bean を使用してそれに応じて要素を作成したいと考えています。

1- 何を使えばいいですか?(現在、JSF 2 Facelets と Javascript/jQuery を使用しています)。

2-あなたが推奨するツールを使用してそれを行う正しい方法は何ですか.

JSFページでこのように機能するものを探しています

これは、jsf と javascript/jquery を使用して実行できますか??

for(every i in elements.div)
{
     create a div element
    then
     for(every i in div.p )
     create a p element in that div
     width of p element = p.width
    .
    .
    .
    load all element info 
}
4

2 に答える 2

1

コンポーネントバインディングを使用できます。JSF ページで、準備済みの JSF ツリー コンポーネントを提供するバッキング Bean を参照します。

<p>Here comes a dynamic content</p>
<h:panelGroup binding="#{myBackingBean.generatedElements}"/>

バッキング Bean で、必要に応じて要素を作成してネストします

...
public class MyBackingBean {
...

private HtmlPanelGroup generatedElements = new HtmlPanelGroup();

public void init() {
     for (Element e : myElements) {
         // Take any element type you want
          HtmlOutputText subElement = new HtmlOutputText();
          subElement.setValue(e.getText());
          generatedElements.getChildren().add(subElement);
     }
}

メソッドを使用subElement.setValueExpressionして、JSF 式で定義された動的属性を持つコンポーネントを構築することもできます。たとえば、国際化のためです。

于 2012-07-06T09:43:31.720 に答える
0

確かに別のアプローチであるhttps://vaadin.com/を見てみることをお勧めしますが、実際に必要なことやそれ以上のことができるかもしれません。

編集
フレームワークを変更することはできないため (これは非常に理解しやすいことです)、How to create dynamic JSF form fields をご覧ください。基本的に、必要なすべての手順がそこにリストされています。フォーム要素の代わりにタグ<div>を作成するために、同様のアプローチを取ることができます。<p>

于 2012-07-06T09:47:29.207 に答える