Iterar array populado com objeto e acessar seus métodos utilizando JavaScript

1. Iterar array populado com objeto e acessar seus métodos utilizando JavaScript

ROBERTO FARIA DE SOUZA JUNIOR
roberto.fsouza

(usa Ubuntu)

Enviado em 19/09/2021 - 12:19h

Olá a todos.
Preciso, usando JavaScript, iterar um array que esta populado com objetos TemperaturaAguaModelo(), para assim pegar os valores das propriedades através dos métodos get's, porém meu objeto esta virando um string, em java eu faria desse jeito...


for (int x=0; x < arrayObj.size(); x++) {
Timestamp instante = arrayObj.get(x).getTempagua_instante();
}


Como deveria fazer isso em JavaScript para, por exemplo, exibir o valor da propriedade retornada no getTempagua_instante() em um alert()?
Já utilizei vários exemplos, inclusive aqui do site mas sempre acabo caindo na situação do meu objeto ser interpretado como uma string.

Esse array eu retorno da minha classe DashboardController para minha JSP.

Segue meu código...

TemperaturaAguaModelo.java

package br.com.itatech.modelo;

import java.sql.Timestamp;

public class TemperaturaAguaModelo {
private Integer tempagua_id;
private Timestamp tempagua_instante;
private Integer tempagua_display;
private Integer tempagua_sump;

public Integer getTempagua_id() {
return tempagua_id;
}
public void setTempagua_id(Integer tempagua_id) {
this.tempagua_id = tempagua_id;
}
public Timestamp getTempagua_instante() {
return tempagua_instante;
}
public void setTempagua_instante(Timestamp tempagua_instante) {
this.tempagua_instante = tempagua_instante;
}
public Integer getTempagua_display() {
return tempagua_display;
}
public void setTempagua_display(Integer tempagua_display) {
this.tempagua_display = tempagua_display;
}
public Integer getTempagua_sump() {
return tempagua_sump;
}
public void setTempagua_sump(Integer tempagua_sump) {
this.tempagua_sump = tempagua_sump;
}
}


DashboardController.java

package br.com.itatech.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.itatech.mad.DashboardMAD;

@Controller
public class DashboardController {

@RequestMapping("dashboard")
public String dashboard(Model model) {

// Recuperar histórico de temperatura da água
DashboardMAD mad = new DashboardMAD();

model.addAttribute("listTempAguaObj", mad.getListaTemperaturaAguaModelo()); // Array de objetos TemperaturaAguaModelo
model.addAttribute("tempAguaObj", mad.getTempAguaModelo1()); // Objeto único de TemperaturaAguaModelo

return "dashboard/dashboard";
}
}


dashboard.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="TemperaturaAguaModelo" class="br.com.itatech.modelo.TemperaturaAguaModelo"/>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<c:import url="../default/cabecalho.jsp" />

<script>
var arrayObjTemp = [];
arrayObjTemp = "${listTempAguaObj}";

for (var x=0; x < arrayObjTemp.lenght; x++) {
alert(arrayObjTemp[x].tempagua_instante());

}
</script>

<div class="page-wrapper">
<!-- ============================================================== -->
<!-- Bread crumb and right sidebar toggle -->
<!-- ============================================================== -->
<div class="page-breadcrumb">
<div class="row">
<div class="col-5 align-self-center">
<h4 class="page-title">Dashboard</h4>
</div>
<div class="col-7 align-self-center">
<div class="d-flex align-items-center justify-content-end">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item" aria-current="page">Dashboard</li>
<li class="breadcrumb-item" aria-current="page">Dashboard</li>
</ol>
</nav>
</div>
</div>
</div>
</div>
<!-- ============================================================== -->
<!-- End Bread crumb and right sidebar toggle -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Container fluid -->
<!-- ============================================================== -->
<div class="container-fluid">
<!-- -------------------------------------------------------------- -->
<!-- Start Page Content -->
<!-- -------------------------------------------------------------- -->

<div class="row">
<div class="col-lg-6">
<div class="card">
<div class="title-part-padding border-bottom">
<h4 class="card-title mb-0">Temperatura da Água</h4>
</div>
<div class="card-body">
<ul class="list-inline text-end">
<li class="list-inline-item">
<h5><i class="ri-checkbox-blank-circle-fill align-middle me-1 text-info"></i>ºC Display</h5>
</li>
<li class="list-inline-item">
<h5><i class="ri-checkbox-blank-circle-fill align-middle me-1 text-success"></i>ºC Sump</h5>
</li>
</ul>
<div id="morris-area-chart"></div>
</div>
</div>
</div>


<div class="col-lg-6">
<div class="card">
<div class="title-part-padding border-bottom">
<h4 class="card-title mb-0">Temperatura da Água 2</h4>
</div>
<div class="card-body">
<ul class="list-inline text-end">
<li class="list-inline-item">
<h5><i class="ri-checkbox-blank-circle-fill align-middle me-1 text-info"></i>ºC Display</h5>
</li>
<li class="list-inline-item">
<h5><i class="ri-checkbox-blank-circle-fill align-middle me-1 text-success"></i>ºC Sump</h5>
</li>
</ul>
<div id="morris-area-chart2"></div>
</div>
</div>
</div>
</div>

<!-- JAVASCRIPT PÁGINA DASHBOARD -->
<!--Morris JavaScript -->
<script src="resources/nice/src/assets/libs/raphael/raphael.min.js"></script>
<script src="resources/nice/src/assets/libs/morris.js/morris.min.js"></script>
<script src="resources/itatech/js/dashboard/grafico_linha.js"></script>

</div>
<!-- ============================================================== -->
<!-- End Container fluid -->
<!-- ============================================================== -->


</script>
<c:import url="../default/rodape.jsp" />


DashboardDAO.java

package br.com.itatech.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.JOptionPane;

import br.com.itatech.modelo.TemperaturaAguaModelo;

public class DashboardDAO {

public ArrayList<TemperaturaAguaModelo> getListaTemperaturaAguaModelo() {
Connection conn = new AbreConexaoBD().conexaoBD();
ArrayList<TemperaturaAguaModelo> listTemperaturaAguaObj = new ArrayList<>();

try {

String SQL = "SELECT * FROM tempagua ORDER BY tempagua_instante ASC;";
PreparedStatement stmt = conn.prepareStatement(SQL);

ResultSet rs = stmt.executeQuery();

while (rs.next()) {
TemperaturaAguaModelo temperaturaAguaModelo = new TemperaturaAguaModelo();

temperaturaAguaModelo.setTempagua_id(rs.getInt("tempagua_id"));
temperaturaAguaModelo.setTempagua_instante(rs.getTimestamp("tempagua_instante"));
temperaturaAguaModelo.setTempagua_display(rs.getInt("tempagua_display"));
temperaturaAguaModelo.setTempagua_sump(rs.getInt("tempagua_sump"));


listTemperaturaAguaObj.add(temperaturaAguaModelo);
}

return listTemperaturaAguaObj;

}catch (Exception ex) {
JOptionPane.showMessageDialog(null, "DashboardDAO.getListaTemperaturaAguaModel(): " + ex.getMessage());
return null;
}
}

public TemperaturaAguaModelo getTempAguaModelo1() {
Connection conn = new AbreConexaoBD().conexaoBD();

try {

String SQL = "SELECT * FROM tempagua WHERE tempagua_id = 5;";
PreparedStatement stmt = conn.prepareStatement(SQL);

ResultSet rs = stmt.executeQuery();

TemperaturaAguaModelo temperaturaAguaModelo = new TemperaturaAguaModelo();

while (rs.next()) {

temperaturaAguaModelo.setTempagua_id(rs.getInt("tempagua_id"));
temperaturaAguaModelo.setTempagua_instante(rs.getTimestamp("tempagua_instante"));
temperaturaAguaModelo.setTempagua_display(rs.getInt("tempagua_display"));
temperaturaAguaModelo.setTempagua_sump(rs.getInt("tempagua_sump"));
}

return temperaturaAguaModelo;

}catch (Exception ex) {
JOptionPane.showMessageDialog(null, "DashboardDAO.getTempAguaModelo1(): " + ex.getMessage());
return null;
}
}
}


DashboardMAD.java

/**
* MAD - Método de Acesso à Dados
*/
package br.com.itatech.mad;

import java.util.ArrayList;
import br.com.itatech.dao.DashboardDAO;
import br.com.itatech.modelo.TemperaturaAguaModelo;

/**
* @author Roberto Faria de Souza Junior
*
*/
public class DashboardMAD {
DashboardDAO dashboardDAO = new DashboardDAO();

public ArrayList<TemperaturaAguaModelo> getListaTemperaturaAguaModelo() {
return this.dashboardDAO.getListaTemperaturaAguaModelo();
}

public TemperaturaAguaModelo getTempAguaModelo1() {
return this.dashboardDAO.getTempAguaModelo1();
}
}



  


2. Re: Iterar array populado com objeto e acessar seus métodos utilizando JavaScript

Ruan
ru4n

(usa Debian)

Enviado em 19/09/2021 - 12:26h

Use `` para pegar o valor de uma variável com templating string:
arrayObjTemp = `${listTempAguaObj}`; 








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts