看似简单的问题,但我在这里束手无策。
我有一个文件。它包含一个表格。其中包含一个子表单。其中包含一个只读文本字段。这是结构的相关部分:
<tr:document ...>
<tr:form ....>
<tr:subform ...>
<div ...><div ...>
<tr:panelGroupLayout>
<tr:panelFormLayout>
<tr:inputText id="selectedAmount"
label="#{...}"
value="#{...}"
disabled="true" />
</tr:panelFormLayout>
</tr:panelGroupLayout>
</div></div>
</tr:subform>
</tr:form>
</tr:document>
(...上的所有属性都不是设置样式信息。)
为什么 MyFaces 为最里面的元素生成 div 而不是 input type="text"?我已经看到(显然)具有完全相同结构但没有此问题的表单。
这是愚蠢和不可接受的原因是,当 div 为空时,它不会显示为框,而是显示为单行(由于没有内容和高度样式,边框会塌陷)。通过 css 手动设置高度也是不可接受的,因为字体可能因计算机而异。我真的只是希望它始终呈现输入标签。
有任何想法吗?如果您想确认任何怀疑,请随时询问详细信息。数据太多,我无法将所有内容都转储在这里。