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