java/html表单提交->;request.getParameter(“…”);只返回字符串的第一部分?

java/html表单提交->;request.getParameter(“…”);只返回字符串的第一部分?,java,html,forms,Java,Html,Forms,我不知道如何表达我的问题。但是我有一个html表单将数据提交到java后端,java后端处理数据并将其提交到数据库 java表单使用javax.servlet.http.HttpServletRequest库获取我的每个值 因此,为了抓住以下价值: <input type="text" name="firstName"> 这非常有效,但是如果我的输入是两个单词,它将只返回第一个单词 比如说我把“约翰·乔治”作为我的名字, java页面将只接收“John” 我不明白为什么 表格编号:

我不知道如何表达我的问题。但是我有一个html表单将数据提交到java后端,java后端处理数据并将其提交到数据库

java表单使用
javax.servlet.http.HttpServletRequest
库获取我的每个值

因此,为了抓住以下价值:

<input type="text" name="firstName">
这非常有效,但是如果我的输入是两个单词,它将只返回第一个单词

比如说我把“约翰·乔治”作为我的名字, java页面将只接收“John”

我不明白为什么

表格编号:

   foot =  "<form method='POST' action='Submit'>";
    //path to java servlet 
    foot += "<input type='hidden' name='firstName' value="+firstName+">"; 
    foot += "<input type='hidden' name='lastName' value="+lastName+">"; 
    foot += "<input type='hidden' name='school' value="+school+">"; 
    foot += "<input type='hidden' name='email' value="+email+">"; 
foot=”“;
//Javaservlet的路径
脚+=”;
脚+=”;
脚+=”;
脚+=”;

原因很简单:查看浏览器中的HTML源代码,您将看到:

<input type='hidden' name='firstName' value=John George>

StringEscapeUtils
可以在中找到。

每个属性值都应该用引号括起来。您的属性用引号包装(大多数浏览器都可以处理),但您的值属性没有任何引号包装。因此,您的输出如下所示:

<input type='hidden' name='firstName' value=John George>

因为值没有用引号括起来,所以浏览器将“John”解释为value属性的值,“George”解释为没有值的新属性

将value属性用引号括起来应该可以解决这个问题

foot =  "<form method=\"POST\" action=\"Submit">";
//path to java servlet 
foot += "<input type=\"hidden\" name=\"firstName\" value=\""+firstName+"\">"; 
foot += "<input type=\"hidden\" name=\"lastName\" value=\""+lastName+"\">"; 
foot += "<input type=\"hidden\" name=\"school\" value=\""+school+"\">"; 
foot += "<input type=\"hidden\" name=\"email\" value=\""+email+"\">"; 
foot=”“;
//Javaservlet的路径
脚+=”;
脚+=”;
脚+=”;
脚+=”;

考虑到
firstName=“John George”
这个:
以HTML格式呈现到

<input type='hidden' name='firstName' value=John George>

所以“乔治”被解释为属性。请尝试正确添加引号:

"<input type='hidden' name='firstName' value='" + firstName + "'>"
“”

这两个选项都不起作用。现在我用的是POST,我不知道,在我这边有效。使用post的简单表单,点击我的servlet doPost(请求、响应)获取参数。。可能是我在使用隐藏的表单类型吗?“您可以发布表单中的所有代码吗?仅供参考下次编辑您的问题以便更容易阅读。”。
<input type='hidden' name='firstName' value=John George>
"<input type='hidden' name='firstName' value='" + firstName + "'>"