java - 一些疑问与 Struts 2 UI 标签库的含义有关。是什么给了我更多的 Struts 2 UI 标签?

标签 java struts2 taglib struts2-jquery struts2-jquery-plugin

我对 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 片段正在做什么,但是数十/数百个 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是你的 friend 。而且是一个很好的...

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

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

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

请记住:谨防已弃用的 <sx: /> Dojo 标签。有一个 Struts2-jQuery 插件,其最新的 <sj: />标签。

关于java - 一些疑问与 Struts 2 UI 标签库的含义有关。是什么给了我更多的 Struts 2 UI 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27865504/

相关文章:

java - JSP 自定义标签库 : Nested Evaluation

java - 在 java 中,如何使用其父类(super class)也具有私有(private)构造函数的私有(private)构造函数创建一个类?

java - 从命令行调试java jar 文件?

java - 由于数字以不同语言显示,Eclipse 中的 WindowBuilder 出现错误

java - Docker 容器运行一台计算机而不是另一台计算机

java - 如何在jsp中的用户代理字符串上使用正则表达式函数?

java - Google App Engine 数据存储区编码?

java - Struts2 当索引是变量时访问列表的特定索引

java - 如何在 Struts2 磁贴中启动 jquery 模式弹出窗口?

jsp - 无法解析 .jar 文件中 TagLib 的 URI