1. 程式人生 > >Struts2對頁面上的My97DatePicker日期控制元件輸入的日期字串,不能進行自動轉型問題

Struts2對頁面上的My97DatePicker日期控制元件輸入的日期字串,不能進行自動轉型問題

					<Td class="r" width="20%">
						專案起始日期:
					</Td>
					<Td class="l" width="30%">
						<input id="jsjXmxx.xmqsrq" name="jsjXmxx.xmqsrq" type="text" style="width: 60%;" onclick="WdatePicker()"  class="wdate" onkeydown="return false;"/>
					</Td>

在做專案時,頁面上經常使用各種日期控制元件進行日期輸入,日期控制元件很方面,在限制使用者非法輸入的同時,還可以進行日期大小控制。

 例如上面的程式碼中: 在提交的時候,自動將xmqsrq 的值賦給 **action中的jsjXmxx物件的setXmqsrq(Timestamp xmqsrq)方法,在jsjXmxx物件中,xmqsrq的型別是java.utl.Timestamp,而頁面上是字串,在這裡,會進行一個型別轉換問題,即將String轉為Timestamp型別。

但是有時會遇到 如下 轉型失敗異常:

26 七月 2011 08:38:26 ERROR org.apache.struts2.dispatcher.Dispatcher - Could not find action or result
No result defined for action cn.com.***.workfield.action.jxw.JxwSpxmxxAction and result input - action - file:/E:/eclipse-workspace/nt_credit/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/workfield/WEB-INF/classes/struts/jxw_support.xml:7:67
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:345)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
這是經典的 form表單提交時 型別轉換時出現異常。

  這個時候 你就要看看你的瀏覽器的語言了,我用的是IE6\7, 工具-Internet選項-語言,這時,看到的語言項,應該有個 英語[en]或者類似的在第一位或者在 中文(中國)[zh-cn]之前。 現在只需要將 英語[en]下移到 中文(中國)[zh-cn]之後,或者直接將英語[en] 刪除即可。

  下面再在瀏覽器中使用日期控制元件進行日期輸入的測試。 OK