我正在使用Vaadin 7.当我尝试将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生成。有什么想法来解决这个问题?
答案 0 :(得分:1)
我找到了问题的根源。我删除了位置=&#34;设置&#34;参与div元素并且它起作用。我不知道为什么会这样做。可能是因为CustomLayout在生成html时会查找放置在该位置的元素,如果找不到,则清除所有元素内容。
答案 1 :(得分:0)
你不需要位置=&#34;设置&#34;属性?不要为该属性插入组件吗?