获取单选元素 struts2 中 <s:set> 变量的值
Get value of <s:set> variable in radio element struts2
下面的循环运行了3次,显示了3个radio button,我的要求是默认选中第一个radio。
为此,我设置了一个 <s:if>
条件并检查迭代器的索引是否为 0,在一个 "check" 变量中设置 "true"。
现在我正在以 checked="%{check}
或 ${#check}
或 #check
的形式访问此检查变量,但没有得到期望的结果。
只有最后一个收音机是检查过的。
此外,如果我像这样 <s:property value="%{check}"/>
在循环内但在无线电外打印“check
”变量,它会显示正确的值 true、false、false。但是当我在 <s:radio>
中使用这个变量时,它不能正常工作。
请帮忙如何在 <s:radio>
中访问这个 "check" 变量?
<s:iterator value="operativeMode" var="mode" status="itStatus">
<s:set var="check" value="false"/>
<s:if test="#itStatus.index==0">
<s:set var="check" value="true"/>
</s:if>
<s:radio class="opmode" theme="simple" name="providerScheduleTO.contactMode"
listValue="%{#mode.getDescription()}" list="%{#mode.getCode()}" %{check}
/>
<br>
</s:iterator>
您的编码就像使用标准 HTML <input type="radio" />
标签一样。
当使用Struts2<s:radio/>
标签时,HTML<input type="radio" />
标签的列表是通过list
属性生成的,所以不需要迭代列表并为每个元素创建一个单选按钮。
也就是说,
class
是 cssClass
,
- getter 在 OGNL 中访问时没有
get
和 ()
部分,
- 您缺少
listKey
属性,并且
- 必须通过
value
属性指定 checked
元素。
您的整个代码应替换为以下内容:
<s:radio list = "%{operativeMode}"
listKey = "%{code}"
listValue = "%{description}"
value = "%{operativeMode[0].code}"
name = "providerScheduleTO.contactMode"
cssClass = "opmode"
theme = "simple"
/>
也看看
下面的循环运行了3次,显示了3个radio button,我的要求是默认选中第一个radio。
为此,我设置了一个 <s:if>
条件并检查迭代器的索引是否为 0,在一个 "check" 变量中设置 "true"。
现在我正在以 checked="%{check}
或 ${#check}
或 #check
的形式访问此检查变量,但没有得到期望的结果。
只有最后一个收音机是检查过的。
此外,如果我像这样 <s:property value="%{check}"/>
在循环内但在无线电外打印“check
”变量,它会显示正确的值 true、false、false。但是当我在 <s:radio>
中使用这个变量时,它不能正常工作。
请帮忙如何在 <s:radio>
中访问这个 "check" 变量?
<s:iterator value="operativeMode" var="mode" status="itStatus">
<s:set var="check" value="false"/>
<s:if test="#itStatus.index==0">
<s:set var="check" value="true"/>
</s:if>
<s:radio class="opmode" theme="simple" name="providerScheduleTO.contactMode"
listValue="%{#mode.getDescription()}" list="%{#mode.getCode()}" %{check}
/>
<br>
</s:iterator>
您的编码就像使用标准 HTML <input type="radio" />
标签一样。
当使用Struts2<s:radio/>
标签时,HTML<input type="radio" />
标签的列表是通过list
属性生成的,所以不需要迭代列表并为每个元素创建一个单选按钮。
也就是说,
class
是cssClass
,- getter 在 OGNL 中访问时没有
get
和()
部分, - 您缺少
listKey
属性,并且 - 必须通过
value
属性指定checked
元素。
您的整个代码应替换为以下内容:
<s:radio list = "%{operativeMode}"
listKey = "%{code}"
listValue = "%{description}"
value = "%{operativeMode[0].code}"
name = "providerScheduleTO.contactMode"
cssClass = "opmode"
theme = "simple"
/>
也看看