Обманчиво простой вопрос, но я нахожусь здесь на кону.
У меня есть документ. Содержит форму. Который содержит подчиненную форму. Который содержит текстовое поле только для чтения. Вот соответствующая часть структуры:
<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 также недопустима, потому что шрифт может варьироваться от компьютера к компьютеру. Я действительно хотел, чтобы он всегда отображал тег ввода.
Есть идеи? Не стесняйтесь спрашивать подробности, если хотите подтвердить любые подозрения. У меня слишком много данных, чтобы просто выбросить сюда все.