看似简单的问题,但我在这里结束了。
我有一份文件。它包含一个表单。其中包含一个子表单。其中包含只读文本字段。这是结构的相关部分:
<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而不是输入类型=“text”?我已经看到了(显然)这个完全相同结构的表格没有出现这个问题。
这是愚蠢和不可接受的原因是因为div,当为空时,不显示为框而是显示为单行(边框因没有内容而没有高度样式而崩溃)。通过css手动设置高度也是不可接受的,因为字体可能因计算机而异。我真的只是希望它始终呈现输入标记。
有什么想法吗?如果您想确认任何疑问,请随时询问详细信息。有太多的数据让我把所有东西都放在这里。