【发布时间】:2016-05-22 00:51:54
【问题描述】:
在我的项目中,我从用户那里获取原始文本并将其发送到服务器以执行以下操作
决定每个单词的类型
在其周围添加一个
span并带有相关的 CSS 类保留原始文本结构(即
\r\n表示段落结尾,因此我可以将其包装在p中)将结果显示给用户
使用
<h:outputText value="#{wordTypeBean.wordTypeValues}" escape="false" />
简而言之,我在服务器端做所有的 html 标记。 returned 结果是这样的(当然是一个长字符串,为了便于阅读,结果缩进了):
<span> <!-- from h:outputText -->
<p> <!-- the returned String coming from the Bean starts here -->
<span class="interjection">Hello</span>
<span class="noun">World</span>
!
</p>
<p>
<span class="noun">Life</span>
<span class="verb">is</span>
<span class="adjective">beautiful</span>
.
</p> <!-- the returned String coming from the Bean ends here -->
</span> <!-- from h:outputText -->
但是h:outputText 在文本周围生成span 元素。尽管到目前为止我还没有看到任何问题。但是,当我读到在 html 中将 p 放在 span 中是非法的时,我有一种感觉是不对的。
有没有办法强制h:outputText 围绕来自 Bean 的文本生成 div,或者是否有合法/更好的方法来实现这一点?
【问题讨论】:
-
我无法删除 id,因为我有一个
h:inputHidden来捕获对显示的文本所做的任何编辑并通过p:commandButton使用onmousedown="$('#topF\\:tabview\\:wordsToSubmit').val($('#topF\\:tabview\\:wordTypeEditor').html ());"