我在 HTML 页面中有一个带有文本区域的表单,我试图通过 POST 将其内容发送到 servlet。问题是如果我写类似 unenclosed <enclosed>
的东西在文本区域中,当我调用 request.getParameter("textareaId")
时(其中 request 是 HttpServletRequest 对象)在 servlet 的 service() 方法中(扩展 HttpServlet) ,我只得到“未封闭”作为参数值。有没有办法获取textarea的完整内容?
HTML代码:
<form action="MyServlet" method="post">
<textarea name="MyTextarea" rows="5" cols="50"></textarea>
</form>
Servlet 代码:
public class MyServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String contents = request.getParameter("MyTextarea");
System.out.println(contents);
}
}
谢谢!
编辑:我通过在将文本区域内容发送到 servlet 之前转义 JavaScript 函数中的内容来解决它。
最佳答案
这index.jsp
在 Tomcat 6.0.35 上为我工作。我看到 <
和 >
打印到控制台。
<%
String contents = request.getParameter("MyTextarea");
System.out.println(contents);
%>
<form method="post">
<textarea name="MyTextarea" rows="5" cols="50"></textarea>
<input type=submit>
</form>
您使用的是什么 servlet 容器?
容器有没有默认开启参数转义?
什么是默认字符编码(不能真正看出这是一个问题,因为 <
和 >
是常规 ASCII)?
关于java - 无法获取包含在 servlet 中的 <...> 中的文本区域内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149347/