gpt4 book ai didi

java - 为struts radio的 "disabled"参数设置一个动态值

转载 作者:行者123 更新时间:2023-11-30 03:01:13 26 4
gpt4 key购买 nike

所以我尝试创建一个struts radio来显示元素(通过传递给参数“list”和“listKey”的列表)。我想补充的是,某些 radio 将是只读的(基于服务器端 bean 上声明的某些字段)。

所以struts radio在jsp中是这样的:

<s:radio id="radioStatutType" 
name="radioStatutType"
theme="extend"
templateDir="template"
list="statList"
listKey="myId"
listValue="label"
onclick="checkType();"
disabled="disabRgt" />

因此,字段“myId”和“label”在同一个 bean 中声明,并且它们都可以完美工作(因此我认为范围是正确的)。

与这两个字段相同,我声明了一个名为“disabRgt”的字符串(在 bean 中),该字符串填充了 true/false(使用一些代码计算出的 boolean 值上的 toString)。我声明了 setter 和 getter,但在显示 jsp(和 radio )时,未使用该字段(我通过调试观察点访问/修改进行了验证)。

所以我将此字段更改为 boolean 值(原始),但它不起作用。最后,我将 getter 更改为“isDisabRgt”而不是“getDisabRgt”=>相同的结果..

因此,似乎从未评估字段“disabRgt”,并且 radio 中的“disabled”参数始终填充默认值(这是 false)。

希望我解释得很好!有什么想法吗?

最佳答案

disabled="%{myBoolean}"不评估表达式,您必须以其他方式执行此操作:

  • 使用 <s:if>在变量上显示 radio 启用或禁用:

    <s:if test="%{disabRgt}">
    <s:radio ... disabled="true" >
    </s:if>
    <s:else>
    <s:radio ... >
    </s:else>
  • 使用 Javascript 禁用它:

    <script>
    $(function() {
    if (<s:property value="%{disabRgt}"/>){
    $("#radioStatutType").prop( "disabled", true );
    }
    });
    </script>

只要记住始终使用 boolean 值,不要使用像 boolean 值 toString() 这样的巫术。 ;)

关于java - 为struts radio的 "disabled"参数设置一个动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35898167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com