2015-07-19 45 views
0

我有一個JSP文件,其中有兩個textareas和一個提交按鈕,都在一個表單中;在不更改頁面的情況下提取和處理textarea值表單

<form action="" method="post"> 
     <textarea name="inConsole" id="in" cols="100" rows="10"> </textarea> <br/> 
     <input type="submit" name="Send Command"/> <br/> 
     <textarea name="outConsole" id="out" cols="100" rows="10"></textarea> 
</form> 

這個頁面應該像任何SQL程序協同工作。所以用戶在第一個textarea中鍵入一個命令並單擊submit,然後textarea的值將被提取到一個字段,並且一個方法將負責該命令並返回一個日誌(插入1行,錯誤:錯誤語法等),其中將顯示在第二個textarea中。

我知道如何做一個登錄頁面,併發送數據和重定向用戶到一個新的頁面(新的JSP)文件,如果用戶傳遞是正確的。

什麼,我無法找到是我該怎麼做的一切,我上面說的不同時使用形式的行動去一個新的一頁的事。 我檢查了其他問題,將action屬性鏈接到一個讓我感到困惑的servlet(servlet被調用的方式)。我期待着用一個簡單的小腳本用於此目的就像我用我的登錄頁面之一:

<% 
    DatabaseLoginTest dbLogTest = new DatabaseLoginTest(); 
    if (dbLogTest.DBLoginChecker(request.getParameter("user"), request.getParameter("pass")) == true){ 
     %> 
     <p>Login Successful</p> 
    <% } else { %> 
     <p>Login Failed</p> 
    <% } %> 

還我知道,添加Java腳本(不是JavaScript腳本的:))爲HTML ISN」這是一個很好的做法(及其原因),但我認爲這對我正在開發的一個簡單程序來說可能更容易。

PS:我使用的Tomcat和IntelliJ開發此Web應用程序 和我做了一個自定義的SQL,所以我只需要一個讓我textarea的值與設定其他人的價值的一個代碼

更新:現在我知道我應該使用JavaScript,但我不知道如何將JavaScript提取的數據發送到java方法。

+0

爲什麼在JavaScript中增強HTML並不是一種好的做法?無論如何,看看AJAX這就是你需要 – mplungjan

+0

@mplungjan我在談論這個問題https://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files 我說可能錯了。 我看了一下AJAX和java腳本,但我不知道如何將通過javascript提取的數據發送到字段,到用於處理SQL命令的java方法 – Vicarious

+1

JAVA不是JavaScript所以是的你說錯了:)請隨時隨地搜索AJAX JSP - 例如http://stackoverflow.com/questions/8907383/a-simple-ajax-with-jsp-example – mplungjan

回答

1

如果你想這樣做,而仍然在同一頁,你使用Javascript。這是因爲如果您希望服務器能夠重新呈現頁面,則必須刷新頁面。

你需要寫的onClick處理程序提交按鈕,使一個Ajax調用你的服務器與用戶輸入特定的URL。該URL將提供必要UI更改所需的數據。

您可以使用scriptlet來生成將顯示在網頁中的HTML,但這隻會用於簡單的用例,並且如果您的服務僅返回了所需的數據就會簡單得多使UI改變,並且實際的UI改變由JS處理。

另外,我不認爲這是一個不好的做法,JS嵌入在HTML中。當然,你可以通過包含一個JS源文件來優化它,但這是一個單獨的優化。

+0

謝謝。也可以告訴我如何使用由java方法提取的數據? 所以textarea的值將被分配給一個變量在JavaScript中,然後我應該把它發送到一個Java方法。 – Vicarious

+1

http://stackoverflow.com/questions/3985464/jquery-post-data-to-a-jsp-method?rq=1 這應該給一些想法。 –

相關問題