0

我想通过这样的 URL 发送我的 JSP/HTML 页面的文本字段的值:

<a href="some.jsp?uname=Somnath&dob=02/02/89&gender=male"></a>

但是我需要发送当前放置的值而不是静态值。
实际上我想通过 getParameter() 方法接收所有字段的值。但是我们不能使用:

<form action="someAnother.jsp" method="post">

因为表单附带了另一个URL。实际情况是:

<form action="someAnother.jsp" method="post">
  <input type='text' name='uname'/>
  <input type='password' name='password'/>
  <input type='text' name='dob'/>
  <input type='text' name='contact'/>
  <a href="some">
    <input type='button' value='Upload Image'/>
  </a>
  <input type='submit' value='Register'/>
</form>

UploadImage 按钮调用一个servlet并进行一些操作并再次转发到该页面。我需要再次填写用户在点击上传图片按钮之前填写的所有字段。
所以我认为在那个 servlet 中获取这些值的唯一方法是通过 URL。请给我你的建议。

  • 提醒我们只有通过表单标签进行操作才能获取 JSP/Servlet 中的所有字段值,同时提醒嵌套表单是不允许的。
  • 因此,在表单标签中再次调用另一个 servlet/jsp 的唯一方法是使用标签,但它不携带任何数据。如果我想用标签发送一些数据,那么我们必须使用像第一个示例这样的 URL。
4

3 回答 3

1

备选方案 1:

改变

method="post"

method="get"

备选方案2: 将上述表单数据提交给一个servlet(BasicInfoServlet)。在这个 servlet 中,将接收到的数据保存在会话中,并将用户重定向/转发到图像上传页面。将图像上传表单提交给第二个 servlet (ImageInfoServlet)。在第二个 servlet 中编写代码来保存/处理会话中的图像和初始数据。

于 2013-04-22T09:12:32.943 回答
0

使用“获取”方法。

代码 :-

<form action="/servleturl_mappingpath" method="get">
  <input type='text' name='uname'/>
  <input type='password' name='password'/>
  <input type='text' name='dob'/>
  <input type='text' name='contact'/>
  <a href="some">
    <input type='button' value='Upload Image'/>
  </a>
  <input type='submit' value='Register'/>
</form> 

如果您的方法是 get,则请求的数据将在 URL 上可见。

当您单击注册按钮时,请求将转到给定的 servlet (/servleturl_mappingpath)。

现在,您可以按如下方式进入 servlet:

String namee=request.getParameter("uname"); 
String pass=request.getParameter("password"); 
String dobb=request.getParameter("dob"); 
String contactt=request.getParamenter("contact");

在您的 servlet 中使用上述代码。最后将您的响应重定向到任何给定的 JSP。

希望它会帮助你。

于 2013-04-22T09:19:14.730 回答
0

使用 POST 方法,表单的 enctype 属性必须设置为“multipart/form-data”

检查这篇文章
https://stackoverflow.com/a/2424824/2106973

或者

Java servlet 上传文件教程
http://www.servletsuite.com/servlets/upload.htm

于 2013-04-22T09:48:30.803 回答