Erro ao inserir dados no banco - JSP

5 respostas
jspjavamysql
M

Sou iniciante e estou tentando fazer um sistema de cadastro e pesquisas, no formulário tem o campo numero do banco:

<legend>Dados Bancários</legend>
			<ol>
				<li>
					<label for="banco">Banco</label>
					<input id="cliente.dadosBancarios.banco" name="cliente.dadosBancarios.banco" type="text" ></input>
				</li>
				<li>
					<label for="nbanco"> Banco</label>
					<input id="cliente.dadosBancarios.numeroBanco" name="cliente.dadosBancarios.numeroBanco" type="text" ></input>
				</li>
				<li>
					<label for="ag">Agencia</label>
					<input id="cliente.dadosBancarios.agencia" name="cliente.dadosBancarios.agencia" type="text" ></input>
				</li>
				<li>
					<label for="conta"> Conta</label>
					<input id="cliente.dadosBancarios.conta" name="cliente.dadosBancarios.conta" type="text" ></input>
				</li>

ai da o seguinte erro:

dez 01, 2016 9:04:48 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn

ADVERTÊNCIA: Error setting expression cliente.dadosBancarios.numeroBanco with value '[Ljava.lang.String;@55f22706

ognl.MethodFailedException: Method setNumeroBanco failed for object br.com.transligeiro.Classes.DadosBancarios@7bc64ad8 [java.lang.NoSuchMethodException: br.com.transligeiro.Classes.DadosBancarios.setNumeroBanco([Ljava.lang.String;)]

at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)

at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1474)

at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)

at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)

at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27)

at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2245)

at ognl.ASTProperty.setValueBody(ASTProperty.java:127)

at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)

at ognl.SimpleNode.setValue(SimpleNode.java:301)

at ognl.ASTChain.setValueBody(ASTChain.java:227)

at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)

at ognl.SimpleNode.setValue(SimpleNode.java:301)

o que pode ser??

Agradeço desde já.

5 Respostas

peczenyj

NoSuchMethodException significa que nao existe este metodo que vc chamou.

provavelmente o parametro vem como String e o metodo setNumeroBanco espera um numero. e vc nao esta fazendo a conversão adequada.

isso nao deveria estar no JSP. isso deveria estar na sua Servlet.

M

Muito obrigado pela resposta,
Na classe e no banco de dados está como INT, poderia me dizer como eu faço para colocar no input como int também? já que só da erro quando eu deixo esse campo vazio no JSP, se eu colocar qualquer numero não dá erro.

SDS

peczenyj

Converte de string pra inteiro

Veja a classe Integer que tem um método para isso

M

obrigado eu consegui mudando de int para String.
tenho outra dúvida agora, agora é para jasperreport, seria por aqui tb?

M

Quando faço a consulta, quero imprimir o resultado com o jasperreport, o arquivo .jasper está ok, as classes também, Action etc, porém eu preciso passar um parâmetro (numero do documento) para a Action enviar via hashmap para o arquivo jasper imprimir, porém não sei como fazer isso, tentei da seguinte forma:

<center><input type="submit" value="Alterar"><input type="button" onclick="parent.location.href='/ImprimeRelCliente.do?documento=${cliente.documento}'" value="Imprimir">

também tentei da seguinte forma:

<input type="button" onclick=BotaoImprimir() value="Imprimir">

ai tenho um javascript assim:

<script Language="JavaScript">
				function BotaoImprimir()
					{
						if (confirm('Confirma Impressão??')){ 
							document.alteraClientes.action="/transligeiro/ImprimeRelCliente.do?documento=${cliente.documento}";
							document.forms.alteraClientes.submit();
						}
					}
</script>

e também não funcionou, alguem poderia me dar uma luz? agradeço desde já…

Criado 1 de dezembro de 2016
Ultima resposta 2 de dez. de 2016
Respostas 5
Participantes 2