我正在使用Vaadin7。当我尝试将html内容添加到CustomLayout时,它不会在div元素内生成段落。这是输入:
<div style="margin-top: 10px; padding-left: 50px;" class="col-lg-10">
<div class="bs-component">
<ul class="nav nav-pills">
<li class="active"><a href="#Myprofile" class="active"
data-toggle="tab">Profile</a></li>
<li class=""><a href="#setting" data-toggle="tab">setting</a></li>
<li class=""><a href="#tasks" data-toggle="tab">Tasks</a></li>
</ul>
<div class="tabbable">
<div class="tab-content">
<div id="Myprofile" location="Myprofile" class="tab-pane active"></div>
<div id="setting" location="setting" class="tab-pane">
<p>My paragraph</p>
</div>
</div>
</div>
</div>
在Java中,我使用以下代码:
String html; //This var contain my input
InputStream is = new ByteArrayInputStream(html.getBytes());
CustomLayout custom = null;
try {
custom = new CustomLayout(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最后,我将customLayout添加到我的mainLayout中。当我运行应用程序时,我得到以下输出:
<div style="margin-top: 10px; padding-left: 50px;" class="col-lg-10">
<div class="bs-component">
<ul class="nav nav-pills">
<li class="active"><a href="#Myprofile" class="active"
data-toggle="tab">Profile</a></li>
<li class=""><a href="#setting" data-toggle="tab">setting</a></li>
<li class=""><a href="#tasks" data-toggle="tab">Tasks</a></li>
</ul>
<div class="tabbable">
<div class="tab-content">
<div id="Myprofile" location="Myprofile" class="tab-pane active"></div>
<div id="setting" location="setting" class="tab-pane">
</div>
</div>
</div>
</div>
我在div中id = setting的段落不是由Vaadin生成的。有解决这个问题的想法吗?
最佳答案
我找到了问题的根源。我删除了div元素中的location =“ setting”部分,它起作用了。我不知道为什么要这么做。可能是因为CustomLayout生成html时会寻找放置在该位置的元素,如果找不到,则会清除所有元素内容。