2013-01-14 67 views
2

我想知道在jsp頁面上讀取文本輸入的最佳方式是什麼? 任何人都可以告訴由VS分隔的兩個java代碼之間有什麼區別?在jsp中讀取文本輸入

​​
+0

也許我失去了一些東西,但...第一個讀取參數,第二個設置屬性? – blank

+0

第二個沒有完成你想要的工作,所以它不可能成爲「最好」的方法之一。更重要的是,根本沒有辦法採用「最好」的方式。只有一種方法可以獲取請求參數。 – BalusC

回答

2

我想你想的請求attributeparameter之間的差異。

請求parameter總是String(即,它們總是被String表示偶數整數,布爾值,浮點等等像例如:「1」,「1.1」,「真」),並在一定的URL,如: http://google.com/search?q=question&cat=imagesqcat分別被稱爲parametersquery parameters,它們的值分別爲questionimages。這是GET請求的示例。 POST請求參數將通過html <form>提交。

現在請求attributes是對象而不是parameters。並且它們的值只能使用request.setAttribute("myInput", data);這裏設置data可以是StringPerson類的實例或對象等,簡而言之data是一個對象。

還有一個區別是你沒有方法request.setParameter("myinput", data);沒有這樣的方法,所以請求參數只在提交html <form>或者URL包含參數時設置,如上所述。

現在有了parameters你可以讓他們爲:

String data = request.getParameter("myinput");` 

即使"myInput"值可能是intboolean

對於一個屬性,你可以讓他們爲:

String data = (String) request.getAttribute("myInput");` // if "myInput" is a String 
Person data = (Person) request.getAttribute("myInput");` // if "myInput" is an instance of Person class 
Long data = (Long) request.getAttribute("myInput");` // if "myInput" is a Long 

所以,現在你知道什麼是兩個代碼之間的不同,一個讀取請求參數(request.getParameter())從請求屬性值和其他( request.getAttribute())。

讓我知道這是不是你想要的。

+0

當我試圖打印數據的值時,它返回null,我不知道是什麼原因? – spitti84

+1

這個''input type = text id = myInput value =「myInput」''沒有'name ='myInput'''屬性來從'getParameter()'方法獲取'data'。其他的事情是你必須提交'

',你寫了''來獲得'data'。 –

+1

我會建議你通過基本的JSP教程。 –