2016-05-01 2 views
0

を使用してテキストエリアに、コントローラの文字列を取って、私はので、私はChatControllerを持って、このコードは、サーブレット

<div class="row"> 
       <div class="col-md-10"> 
        <form class="form-horizontal" action="ChatController"> 

        <textarea name="bottxt" id="disabledTextInput" border="2" class="form-control col-xs-6" rows="8" cols="60"></textarea><br> 
        <input class="form-control" type="text" name="usertxt" placeholder="your text here"> 
        <button type="submit" class="btn btn-success active"> Send </button> 
       </div> 
      </div> 

を持っています。私は、ユーザーがTextBoxで何かを入力し、 "submit"を押すたびに文字列を返したいと思います。どうやってやるの 。

+0

閉じるタグはどこですか?あなたのコードは大丈夫です。ユーザーが何かを入力し、送信ボタンを押すと、サーブレットに値を送信します。それをコード化しましたか? –

+0

いいえ、私はその部分が必要です –

+0

私はあなたにそれを与えることができます。ただ一つのことを教えてください。あなたのテキストは、ここにあなたのテキストを書いた小さなテキストボックスに表示しますか?それの役割は何ですか? –

答えて

1

あなたの答えは私の会話から理解したところからです。最初に、jspページだけがサーブレットから要求ディスパッチャの形式で応答を受け取ることができるため、htmlページをjspページに変換する必要があります。ここにあります: -

//textView.jsp 
<%@page import="model.TextBean"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 

    <!DOCTYPE html> 
    <html> 
     <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
      <title>JSP Page</title> 
     </head> 
     <body> 
      <div class="row"> 
       <% 
       TextBean txt=new TextBean(); 
       txt=(TextBean)request.getAttribute("txt"); 
       String text=""; 
       if(txt!=null && txt.getText()!=null){ 
        text=txt.getText(); 
       } 
       %> 
        <div class="col-md-10"> 
         <textarea name="bottxt" id="disabledTextInput" border="2" class="form-control col-xs-6" rows="8" cols="60"><%=text%></textarea><br> 
         <form class="form-horizontal" action="ChatController" method="post"> 
         <input class="form-control" type="text" name="usertxt" placeholder="your text here"> 
         <button type="submit" class="btn btn-success active"> Send </button> 
         </form> 
        </div> 
      </div> 
     </body> 
    </html> 

私たちはこのページからサーブレットで送られた値を受け取ります。しかしまず、TextBeanというJavaクラスを設計する必要があります。テキスト変数には、入力されたテキストの値が格納されます。

サーブレットでは、jspページから受け取った値をこのBeanに割り当てます。次に、リクエストディスパッチャを使用して、jspページに属性の形式で応答を返します。

package controller; 

import java.io.IOException; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import model.TextBean; 

public class ChatController extends HttpServlet { 


    @Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     String text=request.getParameter("usertxt"); 
     TextBean txt=new TextBean(); 
     txt.setText(text); 
     RequestDispatcher rd = request.getRequestDispatcher("textView.jsp"); 
     request.setAttribute("txt", (TextBean)txt); 
     rd.forward(request, response); 
    } 
} 

jspページでは、新しいTextBeanを作成し、サーブレットから受け取った値に設定します。 Beanからのgetterメソッドを使用して、文字列変数にテキストを格納し、それをテキストエリアに表示します。それが私の答えの左側の右のマークをクリックすることによって解決された問題をマークしたいならば。それは私に知らせていない場合。ハッピーコーディング:)

関連する問題