我有文本字段数组,它必须只接受数值,即 1-5。
<s:textfield name="marks[0]" maxlength="1" />
<s:textfield name="marks[1]" maxlength="1" />
<s:textfield name="marks[2]" maxlength="1" /> and so on upto 9 textfields.
我有如下的getter/setter方法
public List<Integer> getMarks(){
return marks;
}
public void setMarks(List<Integer> marks){
this.marks = marks;
}
如何确保用户不会输入字母等非数字值?如果我输入字符,它会引发运行时异常“java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer”,指向 Next JSp 页面中的 validate 方法。
public void validate(){
for(i=0;i<9;i++){
if (marks.get(i)>5) //this line throws above ClassCastException
addFieldError("...");
}
}
如何解决此异常以及验证以继续?在存在单个文本字段的其他页面中,显示 invalid.fieldvalue.error 但对于列表,我遇到了异常