我对 Struts 2 世界非常陌生,我对 Struts 2 UI 标签库有以下疑问:https://struts.apache.org/docs/ui-tag-reference.html
据我了解,它包含一些标准的 html 标签和一些常见的 JQuery 插件?
我的疑问是:使用 UI 标签库中的特定 Struts 2 标签与使用等效的 html 标签或等效的 JQuery 插件有什么区别?是什么给了我更多的 Struts 2 UI 标签?
最佳答案
可重用性:您不需要每次都重写相同的代码;
安全:Struts 标签中的代码经过测试,但您可能会出现拼写错误或其他错误;
解耦:要复制 Struts 标记的相同功能,您需要了解它(和框架)内部如何工作。要使用它,你只需要知道它的属性即可;
标准(和紧凑):如果有人需要处理您的代码,他了解 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" />
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/