2012-06-04 36 views
-1

我有一個關於問題request.getParameterMap()請求乘法參數

在我的JSPX文件,當用戶選擇項目從一個表 乘法參數被添加。現在我想用request.getParameterMap()將它們放入我的Controller 中;它不適用於Firefox,Safari ,但它可以很好地與Chrome

任何人都有一個想法,爲什麼它是這樣的?


Thx的答覆..與所述請求參數的HTML表格是在運行時使用JavaScript,這似乎引起與widged基於瀏覽器如Safari,Firefox和最有可能的IE問題動態地建立。

我將使用AJAX來得到它的工作

+2

請在此處貼你的代碼。 – UVM

+0

我不清楚你的話。對我來說,瀏覽器和服務器端之間沒有任何聯繫,如* request.getParameterMap()*每個瀏覽器以相同的方式發送請求。很奇怪的問題。 – manurajhada

+0

如果瀏覽器之間存在差異,則可能是字符編碼問題,或者HTML表單不符合HTML。特別是如果您使用嚴格的XHTML或其他瀏覽器,可能會以不同的方式修復HTML。或JavaScript。 –

回答

0

瀏覽器不知道request.getParameterMap的(),或在Servlet API的任何方法。

在您的用例中:您有一張數據表,其中用戶可以從中選擇一些行,並且您需要在服務器端爲這些行上的某些操作提供此數據。

對於如:標記爲Gmail中

閱讀選擇在Gmail中的一個或多個行,然後點擊,標記爲已讀會派出一些要求給Google服務器,並讓這些行由用戶標記爲已讀。

你能做到這樣,你需要在你行的主鍵發送到服務器端使用相同的參數名稱 的如:/刪除delId = 1 & delId = 3 & delId = 7

和?在服務器端使用request.getParameterValues()來檢索要刪除的id列表。

1

問題不在於您從地圖獲取參數值的方式。它不可能是。問題必須在HTML/Javascript /無論是在客戶端(瀏覽器)端創建請求。

這很可能是你正在做的事情不是嚴格的HTML(或其他)兼容。有些瀏覽器正以某種方式對待它,而另一些則以另一種方式對待它我建議你先在頁面上運行一個HTML驗證器。