*Please* don't use the old
Struts 1 tag prefix for the Struts 2 tag libraries--besides that it's just misleading, it's also inaccurate, as the S2 tags include a lot more than just HTML-emitting tags. The canonical taglib prefix for the S2 tags is simply "s".
The error message is telling you *precisely* what's wrong. S2's text tag doesn't render a text input field.
I am baffled by your use of CSS.