gpt4 book ai didi

java - 如何处理从页面到 Servlet 的数据映射

转载 作者:行者123 更新时间:2023-12-02 08:02:16 25 4
gpt4 key购买 nike

所以这是我有一组复选框属性的交易。两者都是 HTML 复选框,但其中一个被选中 = true,而另一个被选中 = 1。(不知道如何转义,所以不合适的引号只是为了显示)

"<"input type="checkbox" class="attribute" name="trueFalse" value="true"/>

"<"input type="checkbox" class="attribute" name"oneZero" value="1"/>

当不检查它们时,问题就出现了,我无法找到传递 false 或 0 的方法,而是请求属性不存在。所以我正在努力寻找最好的方法来处理这个问题,到目前为止我已经想出了......

  1. 使用JS并设置隐藏文本框而不是实际文本框-我不想这样做,因为对于每个新属性,我需要编辑 JS
  2. 添加具有默认值的枚举
  3. 创建某种过滤器

有人有更好的想法或喜欢其中一种选择吗?

处理代码如下

public Map<Utils.Attributes, String> getAttributesFromRequest(HttpServletRequest request, String postfix, String prefix){
Map<Utils.Attributes, String> returnValue = new HashMap<Utils.Attributes, String>();
for (Utils.Attributes attr : Utils.Attributes.values()) {
StringBuilder sb = new StringBuilder();
sb.append(prefix);
sb.append(attr.getName());
sb.append(prefix);
String value = request.getParameter(sb.toString());
if(testValue(value)){
returnValue.put(attr, value);
}
}
return returnValue;
}

最佳答案

为什么不直接将默认值放入映射中(false 和 0),并使用请求参数中的值(如果存在)覆盖它们?

关于java - 如何处理从页面到 Servlet 的数据映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8719506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com