为什么我们使用struts标签而不是旧的HTML标签,它带来了什么区别?

我是struts的新手,并且想要知道为什么我们将struts标签引用到以前的html标签上时,它们似乎都在做同样的事情,使用struts标签优于html标签有什么好处。 喜欢

     

我用谷歌搜索了,但没有得到任何令人满意的答案,提前感谢帮助

我知道它增加了一些额外的东西,比如标签或其他东西,这对我很好,但我想知道它是否与性能或任何特定于请求对象的任何事情,任何其他只是避免程序员的额外打字。

Struts 2标签有不同类型。

表单标签特别有用,但它们的function完全取决于所使用的Struts 2主题。 "simple"主题几乎没有超出标准HTML标签的好处。 默认的"xhtml"主题会发出表格行和一些样式。 自定义主题实现您想要的任何function。 无论主题如何,底层JSP源都不需要改变。

主要优点是:

  • validation错误消息
  • 表单呈现/样式
  • 框架集成(例如,从操作自动填充的值)

还有一组Dojo(非常弃用)和jQuery标记,它们在自定义标记中包含了大量的JavaScriptfunction,这使得简单的动态function变得非常简单。

还有非视图标记,如等。它们的一些function是JSTL的副本(在迭代器标记的情况下为 )。 在function重叠时,在这种情况下使用S2标签没有太多好处。

某些标签没有JSTL模拟,如 。 ,该function是否适用于视图层是一个不同的讨论。 有些提供了与Struts 2的其他方面的集成,如I18N(例如, )。 有些人了解Struts 2配置(例如, )。

任何自定义标记的目的是简化视图层编程(例如,JSP)。 S2提供了很多标签来帮助解决这个问题。 有些是简单和通用的(非UI标签),而UI标签是使用FreeMarker实现的,并且可以大量定制。

在这个特定的例子中,并不是很多,但是它的好处是它在解析时被HTML取代,它被替换的内容是可自定义的。 您可以定义标准表单模板,并用替换它。

换句话说,(理论上)标准化站点行为并最小化键入。

更新: Steven指出了一个更有价值的原因,即Struts可以智能地填充和更新字段,例如在提交错误后留下填写的表单。

Struts纯粹使用JAVA! 因此,即使程序员不了解HTML / JAVASCRIPT,他仍然可以使用struts的内置标签来解决问题。 Struts还提供内置的validation工具,就像Javascript一样。