Ранее использовалось <table>
теги в формах JSF
. Я замечаю, что вместо этого лучше использовать тег panelGrid
, поскольку он проще в использовании и проще.Укажите ширину столбца h: panelGrid
Раньше я использовал дополнительный <td>
для ярлыка <h:message >
и дал ему ширину 300
, чтобы предотвратить перемещение формы влево при появлении сообщений.
Теперь, я использую атрибут width
тега <h:panelGrid>
, но это не мое желание.
Когда появляется какое-либо сообщение об ошибке, вся форма перемещается влево, а затем появляются сообщения перед каждым input text
.
Я использовал width
атрибут message
, но это не сработало хорошо.
Должен ли я использовать для использования <table>
вместо <h:panedGrid>
?
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet gg</title>
</h:head>
<h:body>
<center>
<h:form>
<h:panelGrid columns="3" width="400">
<h:outputLabel value="Username:"/>
<h:inputText id="username" value="#{loginBean.username}" required="true">
<f:validateLength maximum="30" minimum="3"/>
</h:inputText>
<h:message for="username" />
<h:commandButton value="submit" action="home"/>
</h:panelGrid>
</h:form>
</center>
</h:body>
</html>
Тег '
@Tiny Я создаю эти настройки в файле css с именем '.makeCenter' и добавил его атрибутом class в тег' form' следующим образом: '', но не работал! –
'.makeCenter { margin: 0 auto; margin-left: auto; margin-right: auto; } ' –