2010-02-22 2 views
2

Почему это происходит, когда я вставляю элемент между текстовым полем s: text, он помещается сверху? Есть ли способ исправить это? Спасибо за помощь в этом.Элементы формы Struts2

<s:textfield label="First Name" required="true"/> 
<s:textfield label="Last Name" required="true"/> 
<s:text name="testing1">test1</s:text> 
<s:textfield label="Address" required="false"/> 
<s:textfield label="Email" required="true"/> 
<s:text name="testing2">test2</s:text> 

заказа отображается в браузере:

test1 
test2 
First Name 
Last Name 
Address 
Email 
+0

Хорошо, даже если я смешиваю обычный HTML как добавление разделения между компонентами s: textfield, они по-прежнему размещаются сверху. Что делать, если я хочу сгруппировать различные разделы формы, добавив вроде как

.... в HTML? Будет ли это возможно? – Marquinio

+0

Какую тему вы используете? – Trick

+0

Вы используете это в ? Если да, попробуйте поместить его в обычную форму, так как сделал для меня странные вещи. – Akku

ответ

1

Я думаю, мой ответ на этот вопрос приходит слишком поздно, но я отвечу на этот раз для записи.

Причина, по которой текстовые элементы не отображаются между ними, состоит в том, что struts отображает таблицу для отображения ваших полей ввода (и их меток). Если вы посмотрите на HTML, созданный struts, вы увидите один тег для каждого текстового поля. Если вы вставляете какой-либо другой компонент между ними, стойки не будут знать, как их форматировать в таблицу формы, в результате чего элементы отображаются до начала таблицы. Чтобы избежать такого поведения, вы можете установить атрибут «theme» формы «simple». Это приведет к тому, что вам нужно будет сделать все форматирование самостоятельно.

Надеюсь, это поможет.

Смежные вопросы