我有这段代码
<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>
所以我有ChatController。每当用户在TextBox中输入内容并按&#34;提交&#34;时,我想返回一个字符串。我怎么能这样做。
答案 0 :(得分:1)
从我们的谈话中我所理解的是你的答案。首先,我们必须将您的html页面转换为jsp页面,因为只有jsp页面可以从servlet接收请求调度程序形式的响应。这是: -
//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>
然后我们在servlet中收到从该页面发送的值。但首先我们必须设计一个名为TextBean的java类。其文本变量将存储输入的文本的值。
package model;
public class TextBean {
String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
在我们的servlet中,我们将从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并将其设置为从servlet接收的值。然后使用bean中的getter方法将文本存储在字符串变量中,然后将其显示在textarea中。如果它是您想要的,请通过单击我答案左侧的右侧标记来解决问题。如果不是,请告诉我。快乐编码:)