UI 未正确加载Struts 1 到 Struts 2

问题描述

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

添加formtaglib

你知道为什么会这样吗?

解决方法

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

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

默认情况下,Struts2 使用 xhtml 主题来生成表单字段的 html 内容,例如 textfield 标签。这个主题使用了用于输入元素的布局。这会破坏您的设计,因为这些元素被放置在标签之外。如果您想使用而不是用于您的输入字段,那么您可以选择 css_xhtml theme。如果你想省略生成或者你可以使用简单的主题。例如

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