1

チェックボックス グループを使用する場合、XPage はそれを生成fieldsetしてtableタグ付けします。それを生成しない方法はありますか?たとえば、私の XPage ソースが次のようになっている場合 -

<xp:checkBoxGroup id="checkBoxGroup" disableTheme="true" value="#{document1.CheckboxGroup}">
    <xp:selectItems>
        <xp:this.value><![CDATA[#{javascript:new Array("Option 1", "Option 2", "Option 3");}]]></xp:this.value>
    </xp:selectItems>
</xp:checkBoxGroup>

次に、生成されたコードは

<fieldset id="view:_id1:checkBoxGroup">
    <table>
        <tr>
            <td>
                <label><input name="view:_id1:checkBoxGroup" value="Option 1" type="checkbox"> Option 1</input></label>
            </td>
            <td>
                <label><input name="view:_id1:checkBoxGroup" value="Option 2" type="checkbox"> Option 2</input></label>
            </td>
            <td>
                <label><input name="view:_id1:checkBoxGroup" value="Option 3" type="checkbox"> Option 3</input></label>
            </td>
        </tr>
    </table>
</fieldset>

これは、3 つのチェックボックスの大量のコードです。tableそして、タグにCSSを配置すると、チェックボックスグループにも配置されるため、CSSが台無しになります。ラジオ ボタン グループにも適用されます。disableThemeプロパティをに設定しようとしましたtrueが、それも機能しませんでした。

4

2 に答える 2

3

コンポーネントの HTML 表現の構造を根本的に変更する場合は、Extensibility API を使用して代替レンダラーを作成できます。これにより、他のコンポーネントのレンダリング方法を変更することなく、特定のコンポーネント インスタンスのブラウザに送信されるマークアップを完全に制御できます。component-familyレンダラーをデフォルトのレンダラー ( )と同じものに登録しますがjavax.faces.SelectMany、カスタム を割り当てrenderer-typeます。そのカスタム値をrendererType特定のチェックボックス グループのプロパティに割り当てると、Domino はカスタム レンダラー クラスを使用して、デフォルトのレンダラー クラスの代わりに HTML を出力します。

于 2012-12-20T15:52:09.733 に答える
1

xp:radioコントロールの代わりにxp:radioGroupコントロールを使用し、プロパティを使用していくつかのラジオ ボタンをグループ化することもできgroupNameます。xp:radio からレンダリングされたラジオ ボタンは、フィールドセットとテーブルで囲まれていません。

于 2012-12-28T16:29:52.620 に答える