这种情况并非总是发生,而是经常发生,而且很烦人。当我尝试从String以外的值(在Action中声明)中获取值时,它会给我一个异常,如java.lang.NoSuchMethodException。Struts2 java.lang.NoSuchMethodException(表单值类型)
2011年11月23日下午4点13分20秒 com.opensymphony.xwork2.util.logging.commons.CommonsLogger警告 警告:错误值“[Ljava.lang.String设定表达 '乘客'; @ 157b2d” ognl.MethodFailedException:方法 “setPassengers” 失败对象[email protected] [java.lang.NoSuchMethodException: com.deveto.struts.actions.BookFlightAction.setPassengers([Ljava。 lang.String;)]
来自操作的代码:
private Integer passengers;
public Integer getPassengers() {
return passengers;
}
public void setPassengers(Integer passengers) {
this.passengers = passengers;
}
的JSP:
<s:form action="book-flight" theme="simple">
<s:textfield name="passengers" value=""/>
</s:form>
而且很奇怪的是它发生在随机所有的时间,而不是在某些特定点。你们有没有建议?
更新:我发现这一点:
1)http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434149
不应价值像'值= 0'因为' “”'应该是'String',你只需要'setPassanders(整数)'和'不setPassanders(字符串)'整数。另外,您可能必须在某处设置“类型” – PeterT
这是自动填充完成的技巧,但是当我提交表单时,会有一个由用户输入的值。 – Denees
给出引发异常的值的示例。你的方法期待一个Integer,确保它是一个而不是String。 –