Gravar Dados via Json

1 resposta
C

Olá pessoal

Gostaria de saber se tem como gravar dados no banco via json e vraptor utilizando a estrutura abaixo? tenho um dialog (jquery) para inserir uma coleta, mas não sei como fazer isso. a principio pensei em gravar os dados da coleta pelo dialog e depois recuperar a id dela pelo json, mas como eu posso recuperar a id, sem atualizar a página?

vlw

<%@ 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>Insert title here</title>
<script type="text/javascript">
	$(function(){

		// Dialog			
		$('#dialog').dialog({
			autoOpen: false,
			width: 300,
			buttons: { 
				"Cancelar": function() { 
					$(this).dialog("close"); 
				},
				"Incluir": function() { 	
					

					------------------- Problema Aqui ---------------------------------------------------

					$('#fnotificacao').val($('#notificacao').val());
					$('#fmaterial').val($('#material').children(':selected').val());
					$('#fqtde').val($('#qtde').val());
					$('#fnumerofrasco').val($('#numerofrasco').val());
					$('#flaboratorio').val($('#laboratorio').children(':selected').val());
					$('#fmatricula').val($('#matricula').val());
					$('#cadcoleta').submit();
					

					
					$.ajax({ url: '<c:url value="/coleta/addcoleta/"/>'+????,
		            dataType: 'json',success: function(json) 
					{
							alert(json.msg);
					}});
				}  
			}
		});
		
		// Dialog Link
		$('#dialog_link').click(function(){
			$('#dialog').dialog('open');
			return false;
		});
		
		// Slider
		$('#slider').slider({
			range: true,
			values: [17, 67]
		});
		
		//hover states on the static widgets
		$('#dialog_link, ul#icons li').hover(
			function() { $(this).addClass('ui-state-hover'); }, 
			function() { $(this).removeClass('ui-state-hover'); }
		);
		
	});
</script>
</head>
<body>
	<form action="<c:url value="/notificacaodengue/finalizarnotificacao/${notificacao.id}"/>" method="post">
		<fieldset>
			<legend>Cadastro de Notificações de Casos de Dengue</legend>
			
			<table id="formulario" >
			<tr>
				<td><label id="tiponotificacao" >Tipo de Notificação</label>
				<b><font color="red"><label>${notificacao.tipo.tipo}</label></font></b></td>
				<td><label>Agravo</label>
				<b><font color="red"><label>${notificacao.agravo.agravo}</label></font></b></td>
				<td><label>Data</label>
				<b><font color="red"><fmt:formatDate value="${notificacao.data}" type="date" pattern="dd/MM/yyyy"/></font></b></td>
				<td colspan="2"><label>Paciente</label>	
				<b><font color="red"><label id="paciente">${notificacao.paciente.nome}</label></font></b></td>
				<td colspan="2"><label id="unidade">Unidade Saúde</label>		
				<b><font color="red"><label>${notificacao.unidadesaude.nome}</label></font></b></td>
			</tr>
			<tr>
				<td><br/></td>
			</tr>	
			<tr>
				<td><label>Data Prim. Sint.</label>
				<b><font color="red"><fmt:formatDate value="${notificacao.data_prim_sintomas}"/></font></b></td>				
				<td colspan="2"><label>Sintomas</label>
				<b><font color="red"><label id="sintomas">${notificacao.sintomas}</label></font></b></td>
				<td><label>Evolução</label>
				<b><font color="red"><label>${notificacao.evolucao.evolucao}</label></font></b></td>
				<td><label>Data Inv.</label>
				<b><font color="red"><fmt:formatDate value="${notificacao.data_investigacao}"/></font></b></td>
				<td><label>Data Ence.</label>
				<b><font color="red"><fmt:formatDate value="${notificacao.data_encerramento}"/></font></b></td>
				<td><label>Data Óbito</label>
				<b><font color="red"><fmt:formatDate value="${notificacao.data_obito}"/></font></b></td>
			</tr>
			</table>
			
			<table cellpadding="10" id="formulario">
			<tr>
				<td><label>Coleta</label></td>
				<td><label>Exame Sorol.</label></td>
				<td><label>Data Is. Viral</label></td>
				<td><label>Res.Is. Viral</label></td>
				<td><label>Sorotipo</label></td>
				<td><label>ImunoHist.</label></td>
				<td><label>Col.RT-PCR</label></td>
				<td><label>Res. RT-PCR</label></td>
				<td><label>Classif. Final</label></td>
			</tr>
			<tr>
				<td><input type="hidden" name="coleta" name="notificacao.coleta.id" value="${notificacao.coleta.id}">
					<a href="#" id="dialog_link" class="ui-state-default ui-corner-all">
					Coleta<span class="ui-icon ui-icon-newwin"></span>
						
					</a>					
				</td>
				<td><select name="notificacao.hispatologia">
						<option selected="selected">Selecione</option>
						<option value="1">Positivo</option>
						<option value="2">Negativo</option>
						<option value="3">Inconclusivo</option>
						<option value="4">Não Realizado</option>
					</select>
				</td>
				<td><input id="data" name="notificacao.data_isolamento_viral" value="${notificacao.data_isolamento_viral}"></td>
				<td><select name="notificacao.isolamento_viral">
						<option selected="selected">Selecione</option>
						<option value="1">Positivo</option>
						<option value="2">Negativo</option>
						<option value="3">Inconclusivo</option>
						<option value="4">Não Realizado</option>
					</select>
				</td>
				<td><select name="notificacao.sorotipo">
						<option selected="selected">Selecione</option>
						<option value="1">Den 1</option>
						<option value="2">Den 2</option>
						<option value="3">Den 3</option>
						<option value="4">Den 4</option>
					</select>
				</td>
				<td><select name="notificacao.imunohistoquimica">
						<option selected="selected">Selecione</option>
						<option value="1">Positivo</option>
						<option value="2">Negativo</option>
						<option value="3">Inconclusivo</option>
						<option value="4">Não Realizado</option>
					</select>
				</td>
				<td><input id="coleta" name="notificacao.coleta_rtpcr"></td>
				<td><select name="notificacao.res_coleta_rtpcr">
						<option selected="selected">Selecione</option>
						<option value="1">Positivo</option>
						<option value="2">Negativo</option>
						<option value="3">Inconclusivo</option>
						<option value="4">Não Realizado</option>
					</select>
				</td>
				<td><select name="notificacao.classificacao_final">
						<option selected="selected">Selec. uma Classif.</option>
						<c:forEach items="${classificacaoList}" var="classificacao">
							<option value="${classificacao.id}">${classificacao.classificacao}</option>
						</c:forEach>
					</select>
				</td>
			</tr>
		</table>
		
		<table cellpadding="10" id="formulario">
			<tr>
				<td><label>Grau FHD</label></td>
				<td><label>Complicações</label></td>
				<td><label>Internação</label></td>
				<td><label>Data Inter.</label></td>
				<td><label>Busca Municipio</label></td>
				<td><label>Municipio Internação</label></td>
			</tr>
			<tr>
				<td><select name="notificacao.grau_fhd">
						<option selected="selected">Selecione</option>
						<option value="1">Grau I</option>
						<option value="2">Grau II</option>
						<option value="3">Grau II</option>
						<option value="4">Grau IV</option>
					</select>
				</td>
				<td>Complicações</td>
				<td><select id="internacao">
						<option selected="selected">Selecione</option>
						<option value="1">Sim</option>
						<option value="2">Não</option>
						<option value="9">Ignorado</option>
					</select>
				</td>
				<td><input id="data" name="notificacao.data_internacao" value="${notificacao.data_internacao}"></td>
				<td><input id="muninternacao"></td>
				<td>
					<select id="minternacao" name="notificacao.internacao.id">
					</select>
				</td>
			</tr>
		</table>
		</fieldset>
	</form>
	
	<div id="dialog" title="Cadastrar Coleta">
		<form action="" method="post">
			
			<label>Material</label>
			<select id="material">
				<option selected="selected">Selecione um Material</option>
				<c:forEach items="${materialcoletaList}" var="material">
					<option value="${material.id}">${material.material}</option>
				</c:forEach>
			</select>
			
			<label>Quantidade</label>
			<input type="text" id="qtde" value="${coleta.qtde}"/>
			
			<label>Número Frasco</label>
			<input type="text" name="numerofrasco" value="${coleta.numerofrasco}">
			
			<label>Laboratório</label>
			<select id="laboratorio"/>
				<option selected="selected">Selecione um Laboratório</option>
				<c:forEach items="${laboratorioList}" var="lab">
					<option value="${lab.id}">${lab.fantasia}</option>
				</c:forEach>
			</select>
			
			<label>Matricula Funcionário</label>
			<input type="text" id="matricula" >
	</form>	
			
	</div>
	
	<form action="<c:url value="/coleta"/>" method="post" id="cadcoleta">
		<input type="hidden" name="coleta.notificacaodengue.id" id="fnotificacao" value="${notificacao.id}">
		<input type="hidden" name="coleta.material.id" id="fmaterial">
		<input type="hidden" name="coleta.qtde" id="fqtde">
		<input type="hidden" name="coleta.numerofrasco" id="fnumerofrasco">
		<input type="hidden" name="coleta.laboratorio.id" id="flaboratorio">
		<input type="hidden" name="coleta.funcionario.matricula" id="fmatricula">
	</form>
							
</body>
</html>

1 Resposta

C

Alguém conhece alguma outra forma de de gravar dados via json + vraptor?

obrigado.

Criado 7 de agosto de 2010
Ultima resposta 9 de ago. de 2010
Respostas 1
Participantes 1