html 提交 多个值,在servlet中收集并保存多个动态HTML输入的提交值

本文介绍了如何在Java Servlet中处理HTML表单数据来防止XSS攻击,强调了使用escapeXml()函数的重要性。通过在每个表单行中设置隐藏的id字段,并将输入字段以id为后缀,可以确保在服务器端正确收集和关联数据。这种方法避免了依赖于输入字段的顺序,从而增强了安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鉴于此简化模型:public class Item {

private Long id;

private String foo;

private String bar;

// ...}

以下是您可以这样做的${items}方式List:

(注意fn:escapeXml()作为XSS攻击防范的重要性)

因此,基本上,您需要将项目的唯一标识符设置为每行中的隐藏输入字段,如上面的代码段所示:

然后你应该将它id作为name同一行中所有输入字段的后缀,例如:

在servlet中,您可以收集所有行的所有值request.getParameterValues()。只需循环它,然后通过获取单个输入id。for (String id : request.getParameterValues("id")) {

String foo = request.getParameter("foo_" + id);

String bar = request.getParameter("bar_" + id);

// ...}

你也可以做到这一切,而不该id抢的名字的所有输入这样一个数组name="foo"和request.getParameterValues("foo"),但请求参数的顺序是不是你的控制之下。HTML表单将按顺序发送,但最终用户可以轻松地操作订单。

这里不需要JavaScript乱七八糟。

也可以看看:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值