Campo VAlores JSP Resolvido

13 respostas
R

Boa Tarde,

Preciso de ajudar em um detalhe minimo:

salvei no banco um valor 25,30
o tipo do objt é double

quando faço select aparece na minha jsp 25,3
como acrescentar o ,00?

segue abaixo códigos:
este é o bean
public double getVlr_repasse_financiamento_orig() {
		return vlr_repasse_financiamento_orig;
	}
	public void setVlr_repasse_financiamento_orig(String vlr_repasse_financiamento_orig) {
		if(vlr_repasse_financiamento_orig !=null && !vlr_repasse_financiamento_orig.equals(""))
		this.vlr_repasse_financiamento_orig = new Double(vlr_repasse_financiamento_orig);
		else
			this.vlr_repasse_financiamento_orig = -1;
	}
ESte é o DAO
public String cadastrarContratacaoObra(ContratacaoObraBean cobra) throws ServletException {
		
		String query = "INSERT INTO contratacao_obra(" + 
		"IDT_EMPREENDIMENTO, " + "COD_ESTAGIO_CONTRAT_OBRA, " +"DES_OBS_ESTAGIO_CONTRAT_OBRA, "+
		"DAT_OIS_PREVISTA_PARA, "+"DAT_OIS_ASSINADA_EM, "+
		"NUM_PROCESSO_ADM, " + "NUM_PROCESSO_LICITACAO, "+"NUM_CONTRATO, " + "VLR_CONTRAPARTIDA_ORIG_1, " + 
		"VLR_CONTRAPARTIDA_ORIG_2, " + "VLR_CONTRAPARTIDA_ORIG_3, " + "VLR_CONTRAPARTIDA_ORIG_4, " + 
		"DES_CONTRAPARTIDA_ORIG_1, " + "DES_CONTRAPARTIDA_ORIG_2, " + "DES_CONTRAPARTIDA_ORIG_3, " + 
		"DES_CONTRAPARTIDA_ORIG_4, " + "VLR_CONTRAPARTIDA_ADT_1, " + "VLR_CONTRAPARTIDA_ADT_2, " + 
		"VLR_CONTRAPARTIDA_ADT_4, " + "VLR_CONTRAPARTIDA_ADT_3, " + "DES_CONTRAPARTIDA_ADT_1, " + 
		"DES_CONTRAPARTIDA_ADT_2, " + "DES_CONTRAPARTIDA_ADT_3, " + "DES_CONTRAPARTIDA_ADT_4, " + 
		"VLR_CONTRAPARTIDA_TESOURO_ORIG, " + "VLR_REPASSE_FINANCIAMENTO_ORIG, " + "VLR_CONTRAPARTIDA_TESOURO_ADT, " + 
		"VLR_REPASSE_FINANCIAMENTO_ADT, " + "VLR_TOTAL_ORIG, " + "VLR_TOTAL_ADT)"+
		"VALUES(" + 
		cobra.getIdt_empreendimento()+", "+
		cobra.getCod_estagio_contrat_obra()+", "+"'"+
		cobra.getDes_obs_estagio_contrat_obra()+"', "+ "'" +
		cobra.getDat_ois_prevista_para()+"', "+ "'" +
		cobra.getDat_ois_assinada_em()+"', "+ "'" +
		cobra.getNum_processo_adm()+"', "+"'"+
		cobra.getNum_processo_licitacao()+"', "+"'"+
		cobra.getNum_contrato()+ "', " + 
		cobra.getVlr_contrapartida_orig_1()+ ", " + 
		cobra.getVlr_contrapartida_orig_2()+ ", " +
		cobra.getVlr_contrapartida_orig_3()+ ", " +
		cobra.getVlr_contrapartida_orig_4()+ ", " + "'" +
		cobra.getDes_contrapartida_1()+ "', " + "'" +
		cobra.getDes_contrapartida_2()+ "', " + "'" +
		cobra.getDes_contrapartida_3()+ "', " + "'" +
		cobra.getDes_contrapartida_4()+ "', " + 
		cobra.getVlr_contrapartida_adt_1()+ ", " +
		cobra.getVlr_contrapartida_adt_2()+ ", " +
		cobra.getVlr_contrapartida_adt_4()+ ", " +
		cobra.getVlr_contrapartida_adt_3()+ ", " + "'" +
		cobra.getDes_contrapartida_adt_1()+ "', " + "'" +
		cobra.getDes_contrapartida_adt_2()+ "', " + "'" +
		cobra.getDes_contrapartida_adt_3()+ "', " + "'" +
		cobra.getDes_contrapartida_adt_4()+ "', " + 
		cobra.getVlr_contrapartida_tesouro_orig()+ ", " + 
		cobra.getVlr_repasse_financiamento_orig()+ ", " +
		cobra.getVlr_contrapartida_tesouro_adt()+ ", " +
		cobra.getVlr_repasse_financiamento_adt()+ ", " +
		cobra.getVlr_total_orig()+ ", " +
		cobra.getVlr_total_adt()+ ")";		

		
		try { 
			Statement st = ContextOracle.getInstance().createStatement();
			st.execute(query);
			st.close();


		} catch (SQLException sqlex) {
			throw new ServletException(sqlex);
		}

		return null;
	}
este é o select
public ContratacaoObraBean consultarEmprContratacaoObra(String codigo) throws ServletException {
	
	
	ContratacaoObraBean empr = null;

		String sql = "select * from contratacao_obra where idt_empreendimento = '" + codigo + "'";

		try {
			Statement st = ContextOracle.getInstance().createStatement();

			ResultSet rs = st.executeQuery(sql);

			while (rs.next()) {
				empr = new ContratacaoObraBean();
				
				empr.setIdt_contratacao(rs.getString("IDT_CONTRATACAO"));
				empr.setCod_estagio_contrat_obra(rs.getString("COD_ESTAGIO_CONTRAT_OBRA"));
				empr.setDes_obs_estagio_contrat_obra(rs.getString("DES_OBS_ESTAGIO_CONTRAT_OBRA"));
				empr.setDat_ois_prevista_para(rs.getString("DAT_OIS_PREVISTA_PARA"));
				empr.setDat_ois_assinada_em(rs.getString("DAT_OIS_ASSINADA_EM"));
				empr.setNum_processo_adm(rs.getString("NUM_PROCESSO_ADM"));
				empr.setNum_processo_licitacao(rs.getString("NUM_PROCESSO_LICITACAO"));
				empr.setNum_contrato(rs.getString("NUM_CONTRATO"));
				empr.setVlr_contrapartida_orig_1(rs.getString("VLR_CONTRAPARTIDA_ORIG_1"));
				empr.setVlr_contrapartida_orig_2(rs.getString("VLR_CONTRAPARTIDA_ORIG_2"));
				empr.setVlr_contrapartida_orig_3(rs.getString("VLR_CONTRAPARTIDA_ORIG_3"));
				empr.setVlr_contrapartida_orig_4(rs.getString("VLR_CONTRAPARTIDA_ORIG_4"));
				empr.setDes_contrapartida_1(rs.getString("DES_CONTRAPARTIDA_ORIG_1"));
				empr.setDes_contrapartida_2(rs.getString("DES_CONTRAPARTIDA_ORIG_2"));
				empr.setDes_contrapartida_3(rs.getString("DES_CONTRAPARTIDA_ORIG_3"));
				empr.setDes_contrapartida_4(rs.getString("DES_CONTRAPARTIDA_ORIG_4"));
				empr.setVlr_contrapartida_adt_1(rs.getString("VLR_CONTRAPARTIDA_ADT_1"));
				empr.setVlr_contrapartida_adt_2(rs.getString("VLR_CONTRAPARTIDA_ADT_2"));
				empr.setVlr_contrapartida_adt_3(rs.getString("VLR_CONTRAPARTIDA_ADT_3"));
				empr.setVlr_contrapartida_adt_4(rs.getString("VLR_CONTRAPARTIDA_ADT_4"));
				empr.setDes_contrapartida_adt_1(rs.getString("DES_CONTRAPARTIDA_ADT_1"));
				empr.setDes_contrapartida_adt_2(rs.getString("DES_CONTRAPARTIDA_ADT_2"));
				empr.setDes_contrapartida_adt_3(rs.getString("DES_CONTRAPARTIDA_ADT_3"));
				empr.setDes_contrapartida_adt_4(rs.getString("DES_CONTRAPARTIDA_ADT_4"));
				empr.setVlr_contrapartida_tesouro_orig(rs.getString("VLR_CONTRAPARTIDA_TESOURO_ORIG"));
				empr.setVlr_repasse_financiamento_orig(rs.getString("VLR_REPASSE_FINANCIAMENTO_ORIG"));
				empr.setVlr_total_orig(rs.getString("VLR_TOTAL_ORIG"));
				empr.setVlr_contrapartida_tesouro_adt(rs.getString("VLR_CONTRAPARTIDA_TESOURO_ADT"));
				empr.setVlr_repasse_financiamento_adt(rs.getString("VLR_REPASSE_FINANCIAMENTO_ADT"));
				empr.setVlr_total_adt(rs.getString("VLR_TOTAL_ADT"));
				
				
				
				
				
			}
			st.close();
			rs.close();
		} catch (SQLException e) {
			log.severe("Ocorreu um erro durante a consulta ao SQL: "
					+ e.getMessage());
			e.printStackTrace(System.err);
		} catch (Throwable e) {
			log.severe("Ocorreu um erro inesperado: " + e.getMessage());
			e.printStackTrace(System.err);
		}
		return empr;
	}
ESta é a JSP
	<legend class="legend2">Valores Contratados - Original</legend>
						<div class="colunas">
							<p class="width100">
								<label for="vl_contr_repasse_OBRA" style="width: 100px">Repasse Financiamento&nbsp;<i>R$</i></label> 
								<input type="text" id="vl_contr_repasse_OBRA" name="vl_contr_repasse_OBRA"  AUTOCOMPLETE=OFF style="width: 170px" value="<%=((ContratacaoObraBean)request.getAttribute("obra")).getVlr_repasse_financiamento_orig()%>"/>
								<label for="vl_contr_contrapartida_OBRA" style="width: 120px">Contrapartida Tesouro&nbsp;<i>R$</i></label> 
								<input type="text" id="vl_contr_contrapartida_OBRA" name="vl_contr_contrapartida_OBRA"  AUTOCOMPLETE=OFF style="width: 170px" value="<%=((ContratacaoObraBean)request.getAttribute("obra")).getVlr_contrapartida_tesouro_orig()%>"/>
								<label for="vl_contr_total_OBRA" style="width: 100px">Valor Total&nbsp;<i>R$</i></label> 
								<input type="text" id="vl_contr_total_OBRA" name="vl_contr_total_OBRA"  AUTOCOMPLETE=OFF style="width: 170px" value="<%=((ContratacaoObraBean)request.getAttribute("obra")).getVlr_total_orig()%>"/>
							</p>

13 Respostas

DaniloAndrade

use a tag <fmt:formatNumber />

R

Desculpe sou novato, poderia citar um exemplo?

DaniloAndrade

da uma lida nessa apostila

R

Vou dar uma lida…mas é somente um detalhe…tenho que entregar hoje…quem poder me ajudar galera obrigado

DaniloAndrade

ve se isso ajuda vc

http://www.tutorialspoint.com/jsp/jstl_format_formatnumber_tag.htm

DaniloAndrade

uma outra opção é usa jquery maskinput

http://digitalbush.com/projects/masked-input-plugin/

wbdsjunior

um jeito fácil? assim:

no JavaBean:
public double getVlr_repasse_financiamento_orig() {  
    return vlr_repasse_financiamento_orig;  
}

// novo método
public String getVlr_repasse_financiamento_orig_formatado() {  
    NumberFormat nf = new DecimalFormat("0.00");
    return nf.format(vlr_repasse_financiamento_orig);
}
no JSP:
<input type="text" id="vl_contr_repasse_OBRA" name="vl_contr_repasse_OBRA"  AUTOCOMPLETE=OFF style="width: 170px" value="<%=((ContratacaoObraBean)request.getAttribute("obra")).getVlr_repasse_financiamento_orig_formatado()%>"/>
DaniloAndrade

primeiro adicione a taglib fmt ao jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

depois

<fmt:formatNumber value="${produto.preco }" type="currency" var="preco"/>
<input id="preco" type="text" name="produto.preco" value="${preco}"/>

ou assim

<input id="preco" type="text" name="produto.preco" value="<fmt:formatNumber value="${produto.preco }" type='currency' />"/>

agora é so vc adaptar pro seu projeto

mas talvez não funcione por causa do nome dos seus atributos e metodos, pois eles não seguem o padrão javaBeans

R

Legal cara conseguir implementar…mas quando vou atualizar qualquer campo do formulario estoura esse erro abaixo:

GRAVE: Servlet.service() for servlet alteraEmpreendimento threw exception

java.lang.NumberFormatException: For input string: R$ 25,30

at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)

at java.lang.Double.parseDouble(Double.java:510)

at br.gov.sp.saobernardo.sehab.empservlet.AlteraEmpreendimentoServlet.doPost(AlteraEmpreendimentoServlet.java:294)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:662)

Ai mudei o objeto para double e fiz um parse mas ainda não deu certo para salvar e atualizar…visualmente até o cifrão ele carrega:

obra.setVlr_repasse_financiamento_orig(Double.parseDouble((request.getParameter("vl_contr_repasse_OBRA"))));
DaniloAndrade

faz assim,

tira o type=“currency”

e adiciona maxFractionDigits=“2” minFractionDigits=“2”

mas dessa forma agora não ira aparecer nem R nem o $ a não ser que vc especifique

e na hora de fazer o parse vc vai ter que fazer isso

request.getParameter("vl_contr_repasse_OBRA").replace(".","").replace(",",".");
R

Danilo.

Muito obrigado. Consegui concluir meu trabalho.

DaniloAndrade

Por nada

edita o seu primeiro post e coloca a tag [Resolvido] no titulo

rafadelnero

Rodrigomazza, utilize PrepareStatement, é mais prático e mais seguro.

Criado 20 de fevereiro de 2013
Ultima resposta 21 de fev. de 2013
Respostas 13
Participantes 4