標籤遇到的怪問題

今天解決了一個令我相當無語的struts2標籤使用問題,程序方面一切再正常不過了,就像大家都知道1+1=2,但計算機執行結果卻不等於2,無論怎樣按照常規方法來修改出問題的地方,結果都超出常人的理解範圍。廢話不多說,先描述一下問題特徵:

 

在一個jsp界面上按照這樣的方式使用select標籤<s:select list="{'1','2','3','4'}" value="%{quickCondition}" name="quickCondition"/>,在後臺action中對應有quickCondition的屬性,假設在下拉框中選擇“1”,按道理傳到後臺的值也是“1”,但奇怪的是傳到後臺時值變爲“1, ”。而且再次在頁面中選擇“2”時,傳到後臺時值變爲了“1,2, ”,第二次選中的值追加到第一次選中值的後面。

 

問題描述完了,下面是我經歷千辛萬苦嘗試了能夠想到的所有辦法,最後繞過這個攔路虎的辦法。我先反覆查找標籤在語法上的書寫錯誤,又比較了和其他正常標籤使用方法上的不同,還把後臺屬性重新寫了一遍,最後得出來了結論,這個標籤和後臺相關聯的代碼都沒有問題。那就真奇怪了,難道是struts2框架問題,但同一個頁面,相同標籤,其他的就沒有問題。是不是提交按鈕的事件中加入了額外代碼,是不是值在傳遞過程中被加修改了。。。這些可能性我都一一驗證,最後都被排除了。絞盡腦汁,費盡心思,這個看似簡單的問題巋然不動,氣得我我快要吐血了。算了,同一個頁面不是有相同的標籤可以正常使用嘛,仿照着新增一個屬性<s:select list="{'1','2','3','4'}" value="%{test}" name="test"/>,和前面的標籤只是屬性域不同,但傳值時沒有上面的問題,既然使用test域可以正常傳值,我就將上面的那個標籤刪除了,使用test來傳值。

 

到此爲止,我算是繞過這個坎了,雖然真正導致問題的元兇還在潛逃,先不管三七二十一,備案再說,等以後技術水平提高了,再翻出來這些陳年舊案一起解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章