关于Struts2UI标签库含义的一些疑惑。是什么让我获得更多 Struts 2 UI 标签?

Some doubts related to the meaning of Struts 2 UI tag library. What gives me more the Struts 2 UI tags?

我是 Struts 2 世界的新手,我对 Struts 2 UI 标签库有以下疑问,这个:https://struts.apache.org/docs/ui-tag-reference.html

据我所知,它包含了一些标准的 html 标签和一些常见的 JQuery 插件?

我的疑问是:使用 UI 标签库中的特定 Struts 2 标签与使用等效的 html 标签或等效的 JQuery 插入?是什么让我获得更多 Struts 2 UI 个标签?

  1. 可重用性:你不需要每次都重写相同的代码;

  2. 安全性:Struts标签中的代码已经过测试,但您可能有拼写错误或其他错误;

  3. 解耦:要复制Struts标签的相同功能,您需要知道它(和框架)在内部是如何工作的。要使用它,你只需要知道它的属性;

  4. 标准(和紧凑):如果有人需要处理你的代码,他知道Struts2,不是你习惯的模式/标签结构/思维城堡......可以很容易地发现 HTML 片段在做什么,但是 dozens/hundreds of HTML片段(或包含)而不是标签会使页面变得巨大且非常混乱;此外,您通常将 HTML 与一些非 ui 标签一起使用,例如 <s:iterator>,以及这个:

    <select name="selectedId">
        <s:iterator value="people">
            <option value="<s:property value="id"/>">
                <s:property value="name"/>
            </option>   
        </s:iterator>
    </select>
    

    肯定比这个差:

    <s:select name="selectedId" list="people" listKey="id" listValue="name" />
    
  5. OGNL 是你的朋友。还有一个不错的...

也就是说,如果你只学习Struts2方式,以后迁移到其他技术时会遇到麻烦,所以最好两种方式都学习然后从项目到项目、从页面到页面、从标签到标签使用更合适的。

有时您有特殊需要并决定使用 native HTML instead of Struts tags 或原始 jQuery 而不是 Struts-jQuery-plugin 标签或 JSTL (甚至 EL)而不是 OGNL,这完全没问题。

但根据我的经验,大多数情况下它们中的大多数都是有用的。

请记住:注意已弃用的 <sx: /> Dojo 标签。有 Struts2-jQuery 插件,带有新的和最新的 <sj: /> 标签。