如何在java的多个变量中检查哪一个变量不是空的?

2wnc66cl  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(276)

我正在开发一个网上购物网站。我有很多(3-4到现在)在一个特定的部分的项目;我的冬装区有三件衣服。我有一个通用的“一口价”页面。
冬装.jsp

<input type="hidden" name="black-jacket" value="999"/>

为了了解请求来自哪个页面,或者在我的项目中单击了哪个项目的“立即购买”按钮,我使用了这一行代码。价值包含特定物品的价格,我知道像我这样存储价格是个坏主意。
立即购买.jsp

<% 
        String blackjacket = request.getParameter("black-jacket");
        String graysweatshirt = request.getParameter("gray-sweatshirt");
        String bluehudi = request.getParameter("blue-hudi");
%>

现在,每个变量都包含特定商品的价格。但在点击任何特定商品的“立即购买”按钮后,该特定商品的价格将存储在变量中,其他变量将包含空值。
这些变量的数目未知。其中,只有一个变量包含price,其他所有变量都包含null。
输出:

我怎样才能知道哪个变量不是空的(因为我有一个未知数量的变量,我不能使用if语句来检查非空的)并且只得到一个不可为空的变量的值;i、 具体项目的价格?我的意思是有任何函数像anyonenotnull或者我们需要为此编写自己的方法吗?
提前谢谢!

lh80um4z

lh80um4z1#

总的来说,有更好的方法可以做到这一点,但是要快速回答您的问题,您可以使用 request.getParameterMap() 然后循环每个结果。
如何将.getparameternames请求到字符串列表中?
尝试一下下面的内容,改变一下,你应该有一些有用的东西

String boughtItem;

for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
    if (entry.getValue() != null) {
        boughtItem = entry.getKey();
        break;
    }
}

相关问题