Struts2 Select 标签:必需与必需标签
Struts2 Select tag : required vs. requiredLabel
我正在将 struts2(核心)从 2.1.8.1 升级到 2.3.31 并遇到以下问题:升级所有 jar 后,编译应用程序,运行 它,并访问页面,我收到以下错误:
java.lang.NoSuchMethodError: org/apache/struts2/views/jsp/ui/SelectTag.setRequired(Ljava/lang/String;)V
所以我做了一点挖掘并找到了以下报告:Source compatibility report for the struts2-core library between 2.3.8 and 2.3.12 versions
基本上表明:
AbstractUITag.setRequiredLabel ( String requiredLabel ) : void
- 添加。
AbstractUITag.setRequired ( String required ) : void
- 已删除
现在,Select元素的docs,提到下面,requiredLabel
被定义为如果设置为true,呈现的元素将指示需要输入 类型的布尔值。
所以,我有点迷路了,我应该使用 requiredLabel=true
还是只删除 required
属性并在代码中验证?
setRequiredLabel 似乎与setRequired 具有相同的方法签名,请保存方法名称。考虑到手动编写验证代码可能会花费更多时间,并且可能比使用 setRequiredLabel 效率更低,使用 setRequiredLabel 可能是一个不错的选择,而不是重新发明轮子。
考虑此版本对代码中可能使用 setRequired 的其他区域的影响可能也值得,并尽可能保持 类 之间的工作一致。
requiredLabel
属性将生成一个 *
以在视觉上呈现该字段是必填字段。
The attribute was called required
in old versions of the tags,但随后 HTML5 规范出现了 required
属性,它与星号无关,而是指示浏览器不允许提交这些字段为空的表单,因此新版本的标签必须更改它才能使用 HTML5 版本,同时保持星号功能可用,只是在另一个名称下:requiredLabel
.
您唯一需要的操作是:
find every occurrence of required="true"
, replace it with requiredLabel="true"
.
建议的操作是:
find every occurrence of required="true"
,
replace it with requiredLabel="true" required="required"
,所以你会得到两全其美。
还要注意无用但可能存在的 required="false"
事件。
我正在将 struts2(核心)从 2.1.8.1 升级到 2.3.31 并遇到以下问题:升级所有 jar 后,编译应用程序,运行 它,并访问页面,我收到以下错误:
java.lang.NoSuchMethodError: org/apache/struts2/views/jsp/ui/SelectTag.setRequired(Ljava/lang/String;)V
所以我做了一点挖掘并找到了以下报告:Source compatibility report for the struts2-core library between 2.3.8 and 2.3.12 versions
基本上表明:
AbstractUITag.setRequiredLabel ( String requiredLabel ) : void
- 添加。AbstractUITag.setRequired ( String required ) : void
- 已删除
现在,Select元素的docs,提到下面,requiredLabel
被定义为如果设置为true,呈现的元素将指示需要输入 类型的布尔值。
所以,我有点迷路了,我应该使用 requiredLabel=true
还是只删除 required
属性并在代码中验证?
setRequiredLabel 似乎与setRequired 具有相同的方法签名,请保存方法名称。考虑到手动编写验证代码可能会花费更多时间,并且可能比使用 setRequiredLabel 效率更低,使用 setRequiredLabel 可能是一个不错的选择,而不是重新发明轮子。
考虑此版本对代码中可能使用 setRequired 的其他区域的影响可能也值得,并尽可能保持 类 之间的工作一致。
requiredLabel
属性将生成一个 *
以在视觉上呈现该字段是必填字段。
The attribute was called required
in old versions of the tags,但随后 HTML5 规范出现了 required
属性,它与星号无关,而是指示浏览器不允许提交这些字段为空的表单,因此新版本的标签必须更改它才能使用 HTML5 版本,同时保持星号功能可用,只是在另一个名称下:requiredLabel
.
您唯一需要的操作是:
find every occurrence of
required="true"
, replace it withrequiredLabel="true"
.
建议的操作是:
find every occurrence of
required="true"
,replace it with
requiredLabel="true" required="required"
,所以你会得到两全其美。
还要注意无用但可能存在的 required="false"
事件。