我收到了一个带有多个名称 - 值对参数的application / x-www-form-urlencoded HTTP POST请求。我得到的一些参数是运算符,操作数和值。运算符的参数从operator1到operator20运行,操作数和值的参数分别从operand1到operand20和value1到value20运行。
示例POST数据....operator1=equals&operator2=equals&operand2=City&value1=John&operand1=Name&value2=Miami&operator3=&operator4=&operand3=&......
我的目标是为每个操作符,操作数和值三元组创建一个POJO。
public class Criteria {
private String operand;
private String value;
private String operator;
public Criteria(String operand, String value, String operator) {
super();
this.operand = operand;
this.value = value;
this.operator = operator;
}
}
读取参数和正确映射运算符,操作数和值三元组的最佳方法是什么。现在我有两张地图。 第一个映射关联操作数和operator = {operand1 = operator1,operand2 = operator2,....} 第二个映射关联操作数和值= 操作数1 {=值1,操作数2 =值2,....}
使用这些地图,我将这三个参数关联起来形成标准POJO。
请提供有关如何更有效和更优雅地实现这一目标的任何建议。
答案 0 :(得分:1)
创建一个新的servlet并覆盖doPost:
@WebServlet("/PostMe")
public class PostMe extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<String> Params = new ArrayList<>();
for(int i=1;i<20;i++){
Params.add(request.getParameter("operand"+i.toString()); }
}
你得到的是一个包含所有参数的arrayList。