1

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

根据我对使用它的理解,它包含一些标准的 html 标签和一些常见的 JQuery 插件?

我的疑问是:使用 UI 标记库中的特定 Struts 2 标记和使用等效的 html 标记或等效的 JQuery 插件有什么区别?是什么给了我更多的 Struts 2 UI 标签?

4

1 回答 1

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

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

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

  4. 标准(和紧凑):如果有人需要处理您的代码,他知道 Struts2,而不是您习惯的模式/标签结构/思维城堡……很容易发现 HTML 片段在做什么,但是数十/数百个 HTML 片段(或包含)而不是标签会使页面变得巨大且非常混乱;您通常还使用带有一些非 ui 标记的 HTML,例如<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 的方式,那么将来您将迁移到其他技术时会遇到麻烦,因此最好同时学习两种方式,然后在项目之间使用更合适的方式,页面到页面,标记到标记。

有时您有特殊需求并决定使用原生 HTML 代替 Struts 标记,或使用原始 jQuery 代替 Struts-jQuery-plugin 标记,或使用 JSTL(甚至 EL)代替 OGNL,这完全没问题。

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

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

于 2015-01-09T17:39:11.833 回答