2014-06-18 17 views
0

我目前正在從一個.txt文件輸入數據並允許用戶編輯它的程序。我只在我的大學學習了一門編程課(Java入門),所以我很初學,但我總是樂於學習新東西。我對我應該做什麼有一些想法,但我似乎無法超越某個領域。如何使用.txt文件作爲輸入(servlets)製作可編輯表格

首先,我讀取基本上是數據列表的文件,然後創建一個多維數組,每個元素中的每一個數據都由某種分隔符分隔。然後,我通過在一些嵌套循環中輸入數組元素並使用contenteditable屬性創建我的表來編輯表。我知道如何編碼這些部分,但從這裏我卡住了。我想要編輯來改變數組元素的值(我很困惑的部分),所以我最終可以將元素放回到原始的.txt文件中(我可以完成這部分)。我怎麼能這樣做呢?

回答

0

而不是陣列使用HashMap,其中字符串是列名稱。每次在表中編輯一個值時,都要在數組列表中進行必要的更改。當你想更新時,使用這個Map並按需要迭代。

+0

你也可以使用列表清單。如果您有一個與每列相關聯的id並將該id映射到列名稱。 – Andy897

0

我假設你已經擁有了服務器內存中的文件內容(可能在Session對象或Servlet實例中),並且你已經準備好在HTML或JSP頁面中顯示這些內容。

要將HTML中所做的更改發送回服務器,您需要將它們發送到Java Servlet。 Java Servlet可以有post和get方法,在這些方法中他們收到HttpServletRequestHttpServletResponse參數。您可以通過兩種方式來實現:

通過常見的HTTP POST方法。這將刷新頁面並將您的瀏覽器指向servlet URL,因此您需要通過response.write()發回servlet的響應,或者重新指向原始頁面,再次顯示文件內容。爲了確保數據將傳送到servlet,您必須將其放在表單標籤中,並將名稱屬性添加到修改後的字段中。 name屬性是通過request.getParameeter(String)從servlet獲取此參數的關鍵。

Via Ajax。您可以使用普通的香草JavaScript,jQuery或任何其他jQuery助手庫。在這種情況下,您必須手動映射要發送給servlet的參數,並期望得到來自它的異步響應,這可能需要解析。

無論採用哪種方式,您的servlet都會收到一個帶有您在HTML表單或您的ajax參數列表中配置的參數名稱的請求。然後您使用request.getParameter(paramName)的這個參數並在您的數組中更新它。

檢查tag about servlets以更好地瞭解它們的工作方式。

相關問題