我可以在这里使用什么描述性变量名称?

时间:2008-10-13 23:59:45

标签: java variables struts html-select

我正在创建一个自定义Java Struts标记,用于以标准化方式构建和格式化html选择框(我们的可用性指南的一部分)。

每个选择框都有一个附加/初始值,用于描述select元素返回的值的要求,即:

  • 强制性 - 标签为“请选择”
  • 可选 - “未选择”
  • 全选 - “全选”

自定义标记将具有一个属性,用于控制要使用哪些属性。

所以问题是,我需要考虑一个可以充分解释的变量名称,即持有这三个值中的一个!
我将在任何情况下评论代码,但我更希望同事不必查找源代码来记住标记变量的用途。

编辑:针对此问题设置一些上下文,我在这里实现的可用性策略是,如果可以选择的项目超过5个,则选项应显示为选择框。 5个或更少的项目将显示为单选按钮 当使用单选按钮时,将不会显示强制标签(如果没有选择任何值,表单验证将会发出警告)。

4 个答案:

答案 0 :(得分:6)

注意:请参阅下面的编辑,了解与此处给出的方法不同的方法

requirementConstraint怎么样?

<my:customSelect requirementConstraint="Mandatory">
   <option value="1">A</option>
   <option value="2">B</option>
   <option value="3">C</option>
</my:customSelect>

另一种可能性不是首先对价值进行三重说明。例如,您可以改为提供两个单独的属性:required"yes" | "no")和selectAll"yes" | "no"),以使意图更清晰。


编辑:实际上,如果我正确理解您的要求,我可以看到三态可能仍然有用。另一种可能性是调用属性mustSelect并设置允许值one(必填),any(可选)和all(全选)。此外,由于“全选”是可能的,我假设您的customSelect标记将每个选项呈现为复选框。有关如何使用mustSelect的示例:

强制性(至少一个)

<my:customSelect mustSelect="one">
   <option value="1">A</option>
   <option value="2">B</option>
   <option value="3">C</option>
</my:customSelect>

可选(零或多)

<my:customSelect mustSelect="any">
   <option value="1">A</option>
   <option value="2">B</option>
   <option value="3">C</option>
</my:customSelect>

全选

<my:customSelect mustSelect="all">
   <option value="1">A</option>
   <option value="2">B</option>
   <option value="3">C</option>
</my:customSelect>

答案 1 :(得分:3)

'multiplicity'似乎是正确的名称。

您似乎在描述以下值:

强制性:1 可选:0+ 选择全部:n

答案 2 :(得分:1)

这是一个有趣的问题。我以前必须多次遇到这种情况,但从来没有真正考虑过这种情况。

您的问题是您的编程语言支持双向选项(例如,零或一)比三向选项(零一或多)更好。 “自然”出现的简写通常是编程语言产生的简写,因此三向选择没有“自然”的简写。

本着KISS *的精神,我建议您将“ZeroOneOrMany”附加到属性名称。


[*]保持简单,愚蠢!

答案 3 :(得分:0)

<强>可选性

Mandatory / Optional似乎是一个布尔值,这是否是一个可选字段。

选择所有几乎似乎无关,可能是它自己的财产。