私はflotと呼ばれるJavascriptチャートライブラリのコンポーネントを作成しています。
<cc:interface>
<cc:attribute name="data" required="true" />
</cc:interface>
<cc:implementation>
<div id="placeholder" style="width:600px;height:300px;"></div>
<script type="text/javascript">
//<![CDATA[
$(function () {
var d1 = [#{cc.attrs.data}];
$.plot($("#placeholder"), [ d1 ]);
});
//]]>
</script>
</cc:implementation>
これは私がこれまでに持っている少量のコードです。私が抱えている問題は、複数のグラフを出力できるように、そのdivタグをページ上でランダムに生成する方法です。明らかに、現在の状態ではそれを行いません。値をjavascript関数に渡す必要があります。
idが必要な別の属性を作成でき、ユーザーはIDを指定する必要があることはわかっていますが、多くのコンポーネントでIDが不要であることに気づきました。Primefacesやicefacesのような重いajax/javascriptライブラリでは、IDが何らかの形でランダムであるように見えます。