我想让段落中的每个句子存储在html小部件中。例如,"我去上学。学校在城市。我妈妈为我做饭。她是我爱的人#34;
本段有4个句子,我想将这些句子存储在html中。
HTMLPanel testHTMLPanel=new HTMLPanel("<p></p>");
HTML html1=new HTML("<b>I go to school.</b>");
HTML html2=new HTML("<i>School is in city</i>");
HTML html3=new HTML("<b>My mom cooks for me.</b>");
HTML html4=new HTML("<i>She is one I love</i>");
testHTMLPanel.add(html1);
testHTMLPanel.add(html2);
testHTMLPanel.add(html3);
testHTMLPanel.add(html4);
但它为每个句子显示了一个新行。句子并没有像正常段落那样一个接一个地出现。
打印出来:
我去上学。
学校在城市
我妈妈为我做饭。
她是我爱的人
但我想这样:
我去上学。学校在城市。我妈妈为我做饭。她是我爱的人。
注意:如果句子很长,那么句子的某些部分将显示在下一行。例如,如果我们显示这个长句&#34;这是非常长的句子...... ......其中某些部分将在下一行&#34;。 &#34;它的某些部分将在下一行&#34;将自然地像段落中的句子一样流到下一行。因此,我们不能使用标签,因为整个标签将采用整个句子。
我使用了HTMLPanel("<p></p>")
,但它没有用。如何修改此HTMLPanel或任何其他可以解决问题的面板?
答案 0 :(得分:0)
尝试以下方法:
SafeHtmlBuilder builder = new SafeHtmlBuilder();
builder.appendHtmlConstant("<b>I go to school.</b>");
builder.appendHtmlConstant("<i>School is in city</i>");
builder.appendHtmlConstant("<b>My mom cooks for me.</b>");
builder.appendHtmlConstant("<i>She is one I love</i>");
HTMLPanel panel = new HTMLPanel(builder.toSafeHtml());
RootPanel.get().add(panel);
答案 1 :(得分:0)
看看gwt flow panel
使用默认HTML布局行为格式化其子窗口小部件的面板。
它只是创建了一个你需要的html div。
当添加任何html内容时,请使用safehtml界面来隐藏您的内容。
答案 2 :(得分:0)
FlowPanel
和HTMLPanel
都可以使用,但这取决于您输入的小部件。 HTML
是块级别小部件(根元素是<div>
);改为使用InlineHTML
(根元素是<span>
)。
但是为了组装HTML,最好使用SafeHtmlBuilder
作为Dvd Prd建议;除非必须稍后动态更新这些部分,但您可以混合使用(使用HTMLPanel.createUniqueId()
为小部件创建占位符)。