最近遇到一个空指针异常:
严重: 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 的问题,今天我们将深入探讨这个问题的成因和解决方法。 首先,让我们了解 Ewebeditor 的 License 机制。Ewebeditor 的 License 是一个授权文件,用于验证用户的身份和权限。当用户安装 Ewebeditor 时,...
或者,在 JavaScript 中,可以使用以下代码来将 Input 元素设置为 Disabled 状态: ```javascript document.getElementById("myInput").disabled = true; ``` 需要注意的是,一旦 Input 元素被设置为 Disabled 状态...
当我们点击修改操作时,dataForm.id 的值将被设置为当前要修改的记录的 ID,这样 input 框的 disabled 属性将被添加,input 框将变为只读模式。 需要注意的是,虽然我们使用了 disabled 属性来禁用 input 框,但是...
select-option-disabled-emulation.js解决IE6 Select 中 option 的disabled属性无效的办法~~~在页面加载时架子该js,呵呵有点问题:onchange 时间冲突 自己改改··
点击编辑按钮时,文字切换成“保存”,身份证input保持始终不可修改状态(即禁用), 姓名input可以修改(即动态加载切换禁用/启用); 3.再次点击按钮文字切回“编辑”,所有input变为禁用状态。 以下是wxml部分 ...
1. **checkAuthority** 方法: 接收两个参数 `java.lang.String userName` 和 `java.lang.String resPath`。此方法的作用是检查指定用户是否有操作特定资源 `resPath` 的权限。 2. **checkLogin** 方法: 接受两个参数...
3. **禁用或更新冲突插件**:检查最近安装的插件,禁用可能引起冲突的插件,或者尝试更新至最新版本。 4. **清理工作区**:删除工作区的.metadata目录,这个目录包含了MyEclipse的配置信息。但请注意,这会丢失所有...
rhino1_7R2.zip Mozilla Scripting Java Rhino classes (js.jar) not found - Javascript disabled java.lang.NoClassDefFoundError: org/mozilla/javascript/Scriptable
在上面的代码中,我们使用了 CSS选择器来选择 readonly 或 disabled 属性的 input 元素,并将其背景颜色设置为灰色,光标设置为不可用状体。 5. 使用 HTML5 的新特性 在 HTML5 中,可以使用新的 input 属性,例如 ...
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的disabled属性设置为false。这样在表单提交时,数据就可以被包含在POST请求中了。但要注意,这种方法需要谨慎使用,因为它可能违反了某些表单设计的...
当一个元素被设置为`disabled`时,默认情况下,大多数浏览器会将其显示为灰色或者降低其透明度,以此来表示该元素当前不可交互。然而,在某些设计体系或品牌指南中,这种默认的视觉效果可能并不符合预期的设计风格...
2. 使用 Java 语言编写调用 Tesseract-OCR 库的代码,例如使用 ImageIOHelper 类来将图片文件转换为 TIFF 格式,以便于 Tesseract-OCR 库进行识别。 下面是 ImageIOHelper 类的代码示例: ``` package OCR; import...
`disabled`属性适用于多种组件,包括日期选择器(DatePicker)、下拉菜单(Select)以及输入框(Input)等。在日期选择器组件中,`isTime`是一个与`disabled`相关的特殊属性,用于控制时间选择部分是否可用。当`is...
- 当一个`input`字段设置为`disabled`时,用户无法编辑该字段的值。 - 这样的字段在表单提交时不被视为成功的(successful)元素,因此,服务器端无法获取到它的值。 - 它不会获得焦点,也不能通过键盘的Tab键进行...
ui
enabled-disabled test.rp
input type=’button’ id=’test’ value=’disabled’> 在jquery中可以使用attr()函数修改按钮的disable属性 $(“#test”).attr(‘disabled’,false); jquery 控制button的disabled属性 代码如下: $(‘#button...