我正在学习 JSF 并开始在 JSF 1.2 中编写自定义组件。有人可以解释一下 JSF 的“必需”属性是如何工作的吗?我查看了生成的 html,它没有显示任何需要的内容。
我正在编写一个带有多个输入文本的 JSF 组件,但只有其中一些是必需的(例如,编写 2 个输入文本 Zipcode 组件,其中最后一个输入文本始终是可选的,而第一个输入文本将由 xhtml 中定义的必需属性控制.
我该如何处理这种选择性的“必需”行为?
我正在学习 JSF 并开始在 JSF 1.2 中编写自定义组件。有人可以解释一下 JSF 的“必需”属性是如何工作的吗?我查看了生成的 html,它没有显示任何需要的内容。
我正在编写一个带有多个输入文本的 JSF 组件,但只有其中一些是必需的(例如,编写 2 个输入文本 Zipcode 组件,其中最后一个输入文本始终是可选的,而第一个输入文本将由 xhtml 中定义的必需属性控制.
我该如何处理这种选择性的“必需”行为?
组件的 required 属性仅存储在服务器端,客户端不知道默认情况下需要哪些字段。当您发布带有空必填字段的表单时,JSF 会将这些字段与其服务器端模型进行比较,并从那里进行验证,为空的必填字段呈现错误消息。您可以在 JSF 生命周期(仅在服务器端处理)中见证这一点。如果必填字段为空,生命周期将在第 3 步停止,并跳过模型更新。
关于第二个问题,如果输入文本的数量是静态的,您可以简单地将其中一些设置为required="true"
,而将一些设置为required="#{cc.attrs.required}"
。