0

我是 Spring 和 JSP 的新手。我的 web 应用程序是 spring 驱动的,我在 apache tomcat 中本地运行。

在我的 JSP 页面中,我有多个文件上传输入和许多文本输入字段。

每次,当我按下任何上传按钮时,都会有一个 HTTPPOST请求发送到我的控制器,从那里我可以将图像保存到数据库中。

但是,我想要的是:

我将一张一张上传图片(最好留在页面中),但不会将它们保存在数据库中,然后当我按下提交以获取其余输入文本字段数据时,我提交所有数据,包括图片,一次尝试向数据库发送文本。

我在 dispatcher-servlet.xml 中听说过scope="session"我的控制器(bean)......但我不确定如果我将图像上传到我的控制器并返回到我的 JSP 表单,bean 会保留我已经上传的图像吗?

我认为我很难解释,所以如果我的问题不清楚,请告诉我。

如果有人能提出可能有助于实现我的目标的建议,那就太好了。

4

2 回答 2

0

我认为最好的方法是使用 ajax 控件上传文件,而不是为每次上传提交表单并将文件引用存储在会话范围变量(属性)中。有很多库都具有基于 ajax 的文件上传功能,例如 extJS、JQuery、GWT、DWR,以及您在 Web 应用程序中使用的任何 ajax 库。

于 2012-09-27T12:54:35.760 回答
0

您是否要上传不同数量的图像,例如如果有人只想上传 2 个他们将在表单上有 2 个文件字段,或者每个人都有 5 个字段?

老实说,在这个阶段,增量上传的整个方案听起来有点过于复杂。(除非您明确需要在每次上传时显示进度条等)如果用户在上传第一张图片后放弃表单怎么办?您需要一个非常可靠的机制来跟踪整个访问,将其保留在会话中不会有帮助。用户可以从中断的地方继续吗?如果您首先使用单个表单提交单击使整个事情起作用,您可以将其分解并稍后微调该过程。我提到,既然你说你是 jsp 和 Spring 的新手(否则你对 web 开发的经验是什么?)

于 2012-09-27T13:25:40.487 回答