Estou desde o começo do dia tentanto separar isso em apenas 2 arquivos, uma pagina jsp e um servlet
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
Float valor1 = null;
Float valor2 = null;
String expressao = null;
boolean erroValor1 = false;
boolean erroValor2 = false;
boolean temErro = false;
boolean erroDiv = false;
if (request.getParameter("valor1") != null) {
try {
valor1 = Float.parseFloat(request.getParameter("valor1"));
} catch (Exception e) {
erroValor1 = true;
}
}
if (request.getParameter("valor2") != null) {
try {
valor2 = Float.parseFloat(request.getParameter("valor2"));
} catch (Exception e) {
erroValor2 = true;
}
}
if (!erroValor1 && !erroValor2 && valor1 != null && valor2 != null) {
Float resultado = null;
char op = request.getParameter("op").charAt(0);
switch (op) {
case '+':
resultado = valor1 + valor2;
break;
case '-':
resultado = valor1 - valor2;
break;
case '*':
resultado = valor1 * valor2;
break;
case '/': if(valor2 != 0)
resultado = valor1 / valor2;
else
erroDiv = true;
break;
default:
break;
}
if (resultado != null) {
expressao = String.format("%f %c %f = %f", valor1, op, valor2, resultado);
}
}
temErro = erroValor1 || erroValor2;
%>
<html>
<head>
<title>Calcula</title>
</head>
<body>
<form name="calc" method="get" action="calcula.jsp">
<table>
<tr>
<td>Valor 1:</td>
<td>
<input type="text" size="10" name="valor1"
value="<%=temErro ? request.getParameter("valor1") : ""%>">
<span style="color:red">
<%=erroValor1 ? "Valor 1 inválido" : ""%>
</span>
</td>
</tr>
<tr>
<td>Valor 2:</td>
<td>
<input type="text" size="10" name="valor2"
value="<%=temErro ? request.getParameter("valor2") : ""%>">
<span style="color:red">
<%=erroValor2 ? "Valor 2 inválido" : (erroDiv ? "Divisão por zero" :"")%>
</span>
</td>
</tr>
<tr>
<td>Op:</td>
<td>
<select name="op">
<option value="+" <%=temErro && request.getParameter("op").equals("+")
? "selected" : ""%>>+</option>
<option value="-" <%=temErro && request.getParameter("op").equals("-")
? "selected" : ""%>>-</option>
<option value="*" <%=temErro && request.getParameter("op").equals("*")
? "selected" : ""%>>*</option>
<option value="/" <%=temErro && request.getParameter("op").equals("/")
? "selected" : ""%>>/</option>
</select>
</td>
<%
if (expressao != null) {
%>
<tr>
<td>Expressão: </td>
<td><span style="color:red"><%=expressao%></span></td>
</tr>
<%
}
%>
<tr>
<td></td>
<td><input type="submit" value="Calcula"></td>
</tr>
</table>
</form>
</body>
</html>
O resultado é essse:
Alguém sabe quais alterações eu teria que fazer no jsp e quais eu teria que fazer no codigo que vai pra servlet pra funcionar da mesma forma que funciona junto?