Java 通过jsp自动提交数据表单url

Java 通过jsp自动提交数据表单url,java,jsp,google-app-engine,Java,Jsp,Google App Engine,我尝试使用jsp自动从url获取输入,并使用servlet将其保存到数据存储, 这是我的密码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <html> <body> <h1> Testing input f

我尝试使用jsp自动从url获取输入,并使用servlet将其保存到数据存储, 这是我的密码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<html>
<body>
<h1> Testing input from url</h1>
</br>
<ul>
<li><p><b>user:</b>
<%= request.getParameter("user")%>
</p></li>
<li><p><b>content:</b>
<%= request.getParameter("content")%>
</p></li>
<li><p><b>date:</b>
<%= request.getParameter("date")%>
</p></li>
</ul>
<form action="/add" method="get">
<input type="hidden" name="user" value="%= request.getParameter("user")%"/>
<input type="hidden" name="content" value="%= request.getParameter("content")%"/>
<input type="submit" value="Post value" />
<input type="hidden" name="date" value="${fn:escapeXml(date)}"/>
</form>
</body>
</html>
当我通过从url(如www.myweb?user=me&content=this)插入值来测试代码时,它显示了值,但没有提交到数据存储。 我是不是搞错了?
提前谢谢。

您的流程在这里不清楚

我假设您有一个位于/add的Servlet,它负责读取请求变量,如user、content和date,并将它们添加到数据库中

您在这里提供的JSP文件似乎有点不合适

我建议您有一个JSP文件,比如上面的add.JSP,它没有隐藏变量。在这种情况下,您可以通过浏览器填充表单


如果您想自动提供像add.jsp?user=me&content=this这样的值,也可以,但是请注意,您需要将表单提交到映射到/add的Servlet,因此您应该检查该Servlet的数据库功能以及它为什么不将其添加到数据存储中。

我在隐藏字段的值中看到了问题。缺少角括号。这个动作是从/开始的。如果在同一应用程序中调用servlet,则不需要使用/


为什么不直接提交给add呢?语法突出显示指出getParameteruser和getParametercontent方法中的双引号会干扰同一行中value=属性后的双引号。
   <form action="add" method="get">
      <input type="hidden" name="user" value="<%= request.getParameter("user")%>"/>
      <input type="hidden" name="content" value="<%= request.getParameter("content")%>"/>
    .....
    </form>