這種情況並非總是發生,而是經常發生,而且很煩人。當我嘗試從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。 –