Problema em get na url

3 respostas
V

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 !!

3 Respostas

marcelojunior
<blockquote>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: %> </blockquote>

é getParameter(String) e não gerParameter(String)

function setaOpcao(op)   
    {  
        if(op == "f") {  

            window.location("index.php?opcaoCadastrar=" + op);  
              
        } else {  

            window.location("index.php?opcaoCadastrar=" + op);  

        }  
    }  
  
</script></blockquote>

Este codigo da setaOpcao, não é o mesmo q este?

function setaOpcao(op)   
    {  
            window.location("index.php?opcaoCadastrar=" + op);  
    }  
  
</script></blockquote>
V

então, eu arrumei agora ta dando NullPointerException

marcelojunior

coloca o Stacktrace: aqui

tenta isso tambem

<h5>Marque a opção a cadastrar:</h5> <label> <input type="radio" name="funcionario" value="f" onclick="setaOpcao('f')" />Funcionário </label> <br /> <label> <input type="radio" name="cliente" value="c" onclick="setaOpcao('c')" />Cliente </label>

Criado 13 de novembro de 2012
Ultima resposta 13 de nov. de 2012
Respostas 3
Participantes 2