0

在我的 html 文件中,我有一个这样的 div 标签,

<div wicket:id="editorArea">Type Here</div>

我正在使用一个名为bootstrap-wysiwyg的 JavaScript 库来使这个 div 标签成为我们可以输入富文本的文本。当人员键入文本时,div 标签的 html 内容会更新以表示 html 中的文本内容。我想将它检索到 wicket 中 html 文件的 Java 代码中。我试图通过为 div 标签创建引用变量来做到这一点,如下所示,

WebMarkupContainer editorArea=new WebMarkupContainer("editorArea");
String text=editorArea.getMarkup().toString(true)

但这并没有给我更新的 HTML 内容。我只给出初始的 html 内容。这里有什么问题?

4

3 回答 3

1

您可能需要先将 editorArea 添加到 html 代码中

WebMarkupContainer editorArea=new WebMarkupContainer("editorArea");
add(editorArea);
String text=editorArea.getMarkup().toString(true)
于 2013-06-01T22:17:05.197 回答
1

看看 wicket-extensions 中的 AjaxEditableLabel。

标签将使用键入的内容更新其模型

Wicket Library中有一个示例,展示了如何使用它。此示例使用 CompoundPropertyModel,但也可以轻松适应其他类型的模型。

于 2013-06-04T14:09:17.340 回答
0

如果我正确阅读了 javadoc,getMarkup() 只会为您提供组件的标记文件。尝试任一

editorArea.getModelObject()

或者

editorArea.getValue()

第一个是首选,但因为 editorArea 是 WebMarkupContainer 它可能无法按预期工作。

于 2013-06-05T06:01:30.983 回答