UI 未正确加载(Struts 1 到 Struts 2)

UI is not loading properly (Struts 1 to Struts 2)

我正在将应用程序从 Struts 1 迁移到 Struts 2,当时我将 JSP 文件中的 form 标记更改为 s:form ,样式和对齐加载错误,但是当我离开 form 标签时,页面加载正确。

我添加了 taglib!DOCTYPE html PUBLIC

你知道为什么会这样吗?

Struts2 使用 themes and templates 作为他们的标签。

您可以学习 here 以了解使用 Struts UI 标签时生成的 HTML 内容。

By default Struts2 uses xhtml theme for generating html content of form fields like textfield tag. This theme is using a layout with for input elements. This breaks your design because these elements is placed outside tag. If you want to use instead of for your input fields then you can choose css_xhtml theme. If you want to omit to generate or then you can use simple theme. For example

<s:form theme="simple">
 <div>
   <s:textfield name="myfield" />
 </div>
</s:form>