最近遇到一个空指针异常:
严重: Servlet.service() for servlet [default] in context with path [/**] threw exception [java.lang.reflect.InvocationTargetException] with root cause
java.lang.NullPointerException
表现很奇怪:页面上查看源码,某个bean的myNo属性明明有值,但是到了action中,调试的结果显示,该属性为NULL, 结果是在该属性调用 myNo.getLength() 方法时,抛出空指针异常。
调查了很久,最后才发现是一个js函数出现了异常,导致后面提交的js代码中Form.enable("myForm") 没有执行,而myFrom中有一个Input为disabled:
<input name="bean.myNo" maxlength="15" value="zhxxxxng" disabled="disabled" />
由于Form.enable("myForm") 没有执行,所以提交时该input为disabled状态,而disabled状态导致action中对应该bean的myNo属性为Null,所以空指针异常。
所以最后不要使用input 的 disabled 属性,而用readonly代替。二者都是不可编辑,区别仅仅是是否接受焦点和可用Tab导航到。当然还有disabled可能不是successful的。而readonly可能是successful的。
所以readonly比disabled更加健壮。因为一般我们使用readonly和disabled的目的是,该属性不可编辑。而不是该属性值不提交。
分享到:
相关推荐
怎样通过disabled和readonly将input设置为只读效果.docx
Ewebeditor License not found. Disabled.doc
有时候会有这样的需求,新增的时候可以输入,但是无法修改,此时就需要通过控制input标签的disabled属性来实现,那vue是如何动态设置input输入框的disabled属性的呢? 输入框的html源代码 <el v-model=dataForm....
select-option-disabled-emulation.js解决IE6 Select 中 option 的disabled属性无效的办法~~~在页面加载时架子该js,呵呵有点问题:onchange 时间冲突 自己改改··
rhino1_7R2.zip Mozilla Scripting Java Rhino classes (js.jar) not found - Javascript disabled java.lang.NoClassDefFoundError: org/mozilla/javascript/Scriptable
myeclipse 2014 customize persperctive 无法 打开 修复 myeclipse 2014 customize persperctive 无法 打开 修复
see Appendix D: Disabling Cryptographic Algorithms in Java PKI Programmer's Guide and Disabled Cryptographic Algorithms in Java Secure Socket Extension (JSSE) Reference Guide. Various enhancements ...
点击编辑按钮时,文字切换成“保存”,身份证input保持始终不可修改状态(即禁用), 姓名input可以修改(即动态加载切换禁用/启用); 3.再次点击按钮文字切回“编辑”,所有input变为禁用状态。 以下是wxml部分 ...
ui
enabled-disabled test.rp
有两种方式可以实现input的只读效果:disabled 和 readonly。 自然两种出来的效果都是只能读取不能编辑,可是两者有很大不同。 Disabled说明该input无效,及其value不会传递给任何程序,比如asp、php等。 Readonly...
form表单中的Input使用disabled导致不能提交,经测试终有一解,具体如下,希望遇到类似问题的朋友可以参考下,希望对大家有所帮助
input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用readonly带替代,即可解决这类问题
Ant design vue 的组件禁用属性 disabled
组件disabled之后灰色变亮样式调整组件disabled之后灰色变亮样式调整组件disabled之后灰色变亮样式调整
在Disabled的控件上顯示ToolTip 在WINFORM中,如果一个控件有设置tooltip,那么鼠标移上去会显示出提示文字.但是当此控件的Enabled=false时,这个Tooltip是无效的. 本示例就是用来解决这个问题.
本文实例讲述了jQuery中:...以上代码能够将不可用的input元素的背景色设置为红色。 实例代码: 代码如下: <!DOCTYPE html> <html> <head> <meta charset=” utf-8″> <meta name=”author
form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...
下载select-option-disabled-emulation.js文件即可自动完成disabled标记的工作