Estou começando a pouco tempo a programar Java Web, estou fazendo um simples teste aqui porém acredito que a logica esteja errada
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Cadastro de Funcionario</title>
<script>
function setaOpcao(op)
{
if(op == "f") {
window.location("index.php?opcaoCadastrar=" + op);
} else {
window.location("index.php?opcaoCadastrar=" + op);
}
}
</script>
</head>
<body>
<%
String opcaoCadastrar = request.gerParameter("opcaoCadastrar");
if(opcaoCadastrar.isEmpty() == false) {
%>
<h1>Formulario Funcionario</h1>
<form action="retornaDadosFuncionario.jsp" method="post">
Nome<br/>
<input type="text" name="nome" /><br/>
<%
if(opcaoCadastrar == "f")
{
out.print("Matricula<br />");
out.print("<input type='text' name='matricula' /><br/>");
} else {
out.print("CPF<br />");
out.print("<input type='text' name='cpf' /><br/>");
out.print("Data de Nasciumento<br />");
out.print("<input type='text' name='dataNascimento' /><br/>");
}
%>
Sexo<br/>
<input type="text" name="sexo" /><br/>
Endereço<br/>
<input type="text" name="endereco" /><br/>
RG<br/>
<input type="text" name="rg" /><br/>
<input type="submit" />
</form>
<%
} else {
%>
<h5>Marque a opção a cadastrar:</h5>
<label>
<input type="radio" name="funcionario" value="f" onclick="setaOpcao(funcionario.value())" />Funcionário
</label>
<br />
<label>
<input type="radio" name="cliente" value="c" onclick="setaOpcao(cliente.value())" />Cliente
</label>
<%
}
%>
</body>
</html>
Oque eu quero é que o usuario primeiro acesse a pagina no index sem nem um parametro, e ai ele vai marcar uma das opções do radio, depois
a função js vai redirecionar para a mesma pagina porém com a variavel vindo na url ‘index.php?opcaoCadastrar=f ou c’, com isso vai sendo montado os formularios
Quando executo esta dando o erro
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 29 in the jsp file: /index.jsp
The method gerParameter(String) is undefined for the type HttpServletRequest
26:
27:
28: <%
29: String opcaoCadastrar = request.gerParameter(“opcaoCadastrar”);
30:
31: if(opcaoCadastrar.isEmpty() == false) {
32: %>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:446)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
Acredito que seja porque na primeiro acesso a pagina operacaoCadastrar esta vindo null, eu ja tentei colocar no else assim, porém o erro continua:
} else if((opcaoCadastrar.isEmpty() == true) || (opcaoCadastrar == null)) {
%>
<h5>Marque a opção a cadastrar:</h5>
<label>
<input type="radio" name="funcionario" value="f" onclick="setaOpcao(funcionario.value())" />Funcionário
</label>
<br />
<label>
<input type="radio" name="cliente" value="c" onclick="setaOpcao(cliente.value())" />Cliente
</label>
<%
obrigado ae !!