So a slightly reorganized version of your code with some less loose interpretations of valid HTML(https://www.w3schools.com/js/js_reserved.asp). So a jsp page called "Test2.jsp"
<%@ page language="java" %>
<%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<html>
<body>
<form name="drps" action="Test2.jsp" method="post">
Select a option:
<select name="drops" size="1">
<option value="OptionA">A</option>
<option value="OptionB">B</option>
<option value="OptionC">C</option>
</select>
<br /><br />
<input type="submit" name="btnSubmit" value="Evaluate" />
</form>
<msp:evaluate>
MSPBlock[$$drops, $$drops]
</msp:evaluate>
</body>
</html>
The "Test2.jsp" page rendered by Tomcat/webMathematica.
webMathematica provides internal built function HTMLSelect
which may help you. So a jsp page called "Test3.jsp"
<%@ page language="java" %>
<%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<html>
<body>
<form name="drps" action="Test3.jsp" method="post">
Select a option:
<msp:evaluate>
HTMLSelect[{"A","B","C"},{"OptionA","OptionB","OptionC"}, "drops", SelectedValues -> {$$drops}]
</msp:evaluate>
<br /><br />
<input type="submit" name="btnSubmit" value="Evaluate" />
</form>
<msp:evaluate>
MSPBlock[$$drops, $$drops]
</msp:evaluate>
</body>
</html>
The "Test3.jsp" page rendered by Tomcat/webMathematica.
The above is a rudimentary example, no handling of null (nil) case. If your case is more complicated, you may want to make your own function that streams out and HTML Select.