POCO HTMLForm 如何读取名称为 invoice[items][1] 的输入表单元素

POCO HTMLForm How to read input form element with name like invoice[items][1]

如果我的 HTML 表单输入是这样的:

<input name='invoice[items][1]' />
<input name='invoice[items][2]' />
<input name='invoice[payments][1]' />
<input name='invoice[payments][2]' />

在PHP中,我可以处理这种post或者得到这样的数据:

$items = $_POST['invoice']['items'];
$payments=$_POST['invoice']['payments'];

如何在 Poco 库中处理此类输入?

Poco 处理程序看起来像这样:

void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response)
{
  HTMLForm form(request, request.stream());
  std::string item1 = form["invoice[items][1]"];
  // ...
}

与PHP不同,C++对您的HTML一无所知,因此它不会将名称数组解析为C++结构"out of the box";当然,这可以通过自定义 C++ 解析器和一些 HTMLForm 逻辑轻松完成,但目前在 Poco 中不可用。