如何将HTML页面中的下拉列表值用于servlet?

Nas*_*ila 1 html java tomcat servlets

我正在尝试使用servlet和HTML创建一个简单的计算器.对于1个操作它可以工作,但我如何使用像这样的结构

if (+) {
    k=i+j;
} else if (-) {
    k=i-j;
}
Run Code Online (Sandbox Code Playgroud)

我的意思是说,我应该在if条件中写什么来获得下拉列表的值?

我的下拉列表如下:

<select name="select1">
    <option value="+">+</option>
    <option value="-">-</option>
    <option value="*">*</option>
    <option value="/">/</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我在Windows上使用Tomcat 6.

Bal*_*usC 5

只需将其作为请求参数以通常的方式获取,就像您对所有其他HTML输入元素所做的那样.

String operator = request.getParameter("select1");
Run Code Online (Sandbox Code Playgroud)

(我会为清楚起见,仅重命名<select name="select1"><select name="operator">)

然后,要比较字符串值,请使用该String#equals()方法(因此不是 ==!):

if ("+".equals(operator)) {
    // ...
} else if ("-".equals(operator)) {
    // ...
} else if ("*".equals(operator)) {
    // ...
} else if ("/".equals(operator)) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

您可能需要考虑查看枚举或升级到Java 7(以便您可以使用switch自Java 7以来支持的字符串),这样您就不会得到一个丑陋的嵌套if-else块.要更进一步,请检查命令模式.但我认为这是家庭作业,所以没关系;)