サーバーから受信したhtmlテキストをデータテーブルの行に表示しようとしています。
フォームは次のようになります。
<h:form id="carPageForm" prependId="false">
<p:dataTable var="car" value="#{tableBean.lazyModel}" paginator="true"
rows="10" rowKey="#{car.id}" widgetVar="carsTable"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
selectionMode="single"
selection="#{tableBean.selectedCar}" id="carTable">
<f:facet name="header">
<p:outputPanel>
<p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="float:right"/>
<h:outputText value="Search all fields:" style="float: right; margin-top: 2px;" />
</p:outputPanel>
</f:facet>
<p:ajax event="rowSelect" update=":carPageForm:display"
oncomplete="carDialog.show()" />
<p:column id="idColumn" filterBy="#{car.id}" style="display:none"
filterMatchMode="contains">
<h:outputText value="#{car.id}" />
</p:column>
<p:column id="adColumn" filterBy="#{car.ad}" filterStyle="display:none">
<h:outputText value="#{car.ad}" escape="true"/>
</p:column>
</p:dataTable>
<p:dialog header="Car Detail" widgetVar="carDialog"
resizable="false" showEffect="scale" hideEffect="explode">
<h:panelGrid id="display" columns="2" cellpadding="4">
<h:outputText value="Title:" />
<h:outputText value="#{tableBean.title}" style="font-weight:bold" />
<h:outputText value="Description:" />
<h:outputText value="#{tableBean.description}"
style="font-weight:bold" />
<h:outputText value="Price:" />
<h:outputText value="#{tableBean.price}" style="font-weight:bold" />
</h:panelGrid>
</p:dialog>
</h:form>
Nowのテーブルでescape="true"
は、行の任意の場所をクリックすると、rowSelectイベントが発生し、ダイアログボックスが開きます。
ただしescape="false"
、行のテキストが太字で下線が引かれるよう
に設定した場合
は、テキストの後に空白の領域をクリックしたときにのみ、rowSelectイベントが発生します。テキストのどこかをクリックしても何も起こりません。
ieの
前に太字のタグを追加しただけでも、行のどこかをクリックした場合にのみ、テキスト上でselectイベントが呼び出されます。
誰かがこれを処理する方法を教えてもらえますか?<h:outputText>
<b><h:outputText value="#{car.ad}"/></b>