【问题标题】:Email submission form with attachments (add, open, and remove) in spring mvcspring mvc 中带有附件(添加、打开和删除)的电子邮件提交表单
【发布时间】:2013-02-11 07:35:22
【问题描述】:

如何创建允许用户指定的电子邮件表单:

  • 到
  • 主题
  • 带有添加/打开/删除功能的附件
  • 发送/取消按钮

我无法发送用户想要删除的文件的索引,例如,如果用户在电子邮件提交表单中附加了 file1、file2 和 file3,并且我在控制器中将此信息作为键、值捕获对,其中键是索引,值是文件名。但是允许用户在发送电子邮件之前删除任意文件,例如用户单击“file2”删除按钮。现在在控制器中我想获取需要删除的文件的索引,但这是动态的,因为用户可以单击任何附加的文件删除按钮。

我正在使用带有 JSP/JSTL 作为视图组件的 spring 2.5。

请查看示例电子邮件表单:

至 |_________________| 主题 |________________| 附件:[**添加**]
**X** 文件1
**X** 文件2
**X** 文件3

(点击“添加”按钮添加附件,点击“X”删除相应附件,点击文件名查看/打开文件内容)

【问题讨论】:

    标签: email jsp spring-mvc


    【解决方案1】:

    如果在服务器端处理删除,您可以将删除按钮实现为<button> 标记,其中name 是fileToRemove,value 是文件的索引。当用户单击该按钮时,将使用fileToRemove=... 参数提交表单:

     <button name = "fileToRemove" value = "${file.id}">Remove</button>
    

    【讨论】:

      【解决方案2】:

      感谢 Axtavt,但我们使用 IE6 作为客户端浏览器,以下是已知问题:

      同时,按钮元素允许作者生成向服务器提交与按钮上显示的文本不匹配的数据的按钮。删除应提交给服务器 row_to_delete=1 但 Internet Explorer 将发送 row_to_delete=Delete。如果可以说服 IE 运行,那么这对于多语言站点也很有用——显示的文本可以针对每种语言进行翻译,但值可以保持不变,因此服务器端逻辑不需要检查翻译表。 更糟糕的是,Internet Explorer 6 还有一个错误,它会将所有元素视为成功的控件,并将其数据提交给服务器,即使它们没有被点击。这实际上使得使用多个按钮元素变得不可能。

      【讨论】:

        猜你喜欢
        • 2012-03-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-18
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-30
        相关资源
        最近更新 更多