Vaadin:CustomLayout不生成<div>内容</div>

时间:2014-04-10 09:51:28

标签: java html vaadin

我正在使用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生成。有什么想法来解决这个问题?

2 个答案:

答案 0 :(得分:1)

我找到了问题的根源。我删除了位置=&#34;设置&#34;参与div元素并且它起作用。我不知道为什么会这样做。可能是因为CustomLayout在生成html时会查找放置在该位置的元素,如果找不到,则清除所有元素内容。

答案 1 :(得分:0)

你不需要位置=&#34;设置&#34;属性?不要为该属性插入组件吗?