今天在做三大框架结合过程中遇到一个问题,表单中部分值得不到!!想想快疯了,经过几个小时的反复排查,问题竟然出现在s标签中的disabled属性。因为我们想让某个值不可编辑,通常这样设置使输入框为灰色,符合视觉。然而disabled属性并不只是只有不可编辑这个性质,它还会让标签的值不可用!!这是关键,即后台得不到值,为空!!!终于知道了原因
那我们想既不能编辑也要得到值怎么办,其实还有一个属性叫readonly,设置为true。不过灰色的效果失去了。推荐加个隐藏属性,一个负责传值,一个告诉用户不可编辑。
<s:hidden name="floornum" value="%{#session.stu.floornum}" ></s:hidden>
<s:textfield class="form-control" value="%{#session.stu.floornum}" disabled="true"></s:textfield>
完美!