由jsp自动提交数据表单URL

时间:2014-01-13 15:45:11

标签: 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 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&amp; content = this,它显示了值但未提交给数据存储区。 我在这里犯了一些错误吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

这里的流程尚不清楚。

我假设您有/add托管的Servlet,负责阅读usercontentdate等请求变量并将其添加到数据库中。

您在此处提供的JSP文件似乎有些不合适。

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

如果您想自动提供值,例如add.jsp?user = me&amp; content = this,那也没关系,但请注意您需要将表单提交到映射到的Servlet /add因此您应该检查Servlet的数据库功能以及它没有将其添加到数据存储区的原因。

答案 1 :(得分:0)

我在隐藏字段的值中看到了问题。缺少角括号<...>。行动从/开始。如果您在同一个应用程序中调用servlet,则无需使用action

启动/
   <form action="add" method="get">
      <input type="hidden" name="user" value="<%= request.getParameter("user")%>"/>
      <input type="hidden" name="content" value="<%= request.getParameter("content")%>"/>
    .....
    </form>