Facing Issues On IT

Search
Skip to content
  • Tutorials
  • Springboot & REST
  • Issues & Solutions
  • Sample Code
  • Interview Preparation
HTML, JDBC, JDBC Issues & Solutions, JSP

How to create HTML dynamic table in JSP from ResultSet with unknown columns ?

16 May 2017 Saurabh Gupta Leave a comment

Use below lines of  code to get columns count and name  from ResultSet.
Metadata keeps all information about columns and we retrieve as below


ResultSetMetaData metaData = resultSet.getMetaData();
//No of columns in resultset
int columnCount = metaData.getColumnCount();
//Column Name where i is column number
String columnName=metaData.getColumnLabel(i)

Complete Example :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class DynamicRows {

public static void main(String[] args) {
DynamicRows dr=new DynamicRows();
List<Map<String, Object>> rows=dr.getSearchRecords();
}

public List<Map<String, Object>> getSearchRecords() {
ResultSet rs = null;
Connection conn = null;
List<Map<String, Object>> rows = null;
try {
conn = openConnection();
if (conn != null) {

java.sql.PreparedStatement ps = conn.prepareStatement(
"select * from department");
rs = ps.executeQuery();

if (rs != null) {
rows = new ArrayList<Map<String, Object>>();
//Code get resultset metadata information
java.sql.ResultSetMetaData metaData = rs.getMetaData();
//To get column count in result set
int columnCount = metaData.getColumnCount();

while (rs.next()) {
Map<String, Object> columns = new LinkedHashMap<String, Object>();
System.out.println("=======Row Start Here===========");
for (int i = 1; i <= columnCount; i++) { 							//To get Column Name 							System.out.println(metaData.getColumnLabel(i)+"->"+rs.getObject(i));
columns.put(metaData.getColumnLabel(i), rs.getObject(i));
}

rows.add(columns);
}
}
}

} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if(rs!=null)
{
rs.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
closeConnection(conn);
}

return rows;
}

private Connection openConnection() {
Connection conn = null;
try {
System.out.println("Load JDBC Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {

System.out.println("Fail to Load JDBC Driver ");
e.printStackTrace();
return null;
}

System.out.println("JDBC Driver Registered .");

try {

conn = DriverManager.getConnection("jdbc:oracle:thin:@serverinfo:1522/service",
"userId", "password");

} catch (SQLException e) {

System.out.println("Connection Failed to Connect !");
e.printStackTrace();
return null;
}

if (conn != null) {
System.out.println("JDBC connection is Successful !");
} else {
System.out.println("JDBC Connection failed !");
}
return conn;
}

private void closeConnection(Connection conn) {
if (conn != null) {
try {

conn.close();
System.out.println("Connection closed successfully");
} catch (SQLException ex) {
System.out.println("Failed to close JDBC Connection !");
ex.printStackTrace();
}
} else {

System.out.println("No JDBC connection to close !");
}
}

}

Above code is working java example for getting dynamic columns for rows and below is HTML for showing values on the page import both html and page in you application for utilize it.

<table>
<thead>
<tr>
<c:forEach items="${rows[0]}" var="column">
<td><c:out value="${column.key}" /></td>
</c:forEach></tr>
</thead>
<tbody>
<c:forEach items="${rows}" var="columns">
<tr>
<c:forEach items="${columns}" var="column">
<td><c:out value="${column.value}" /></td>
</c:forEach></tr>
</c:forEach></tbody>
</table>

More Sample Code

For more java and JDBC codes follow below links

  • Java Sample Code
  • JDBC Sample Code

Share this post with others:

  • More
  • Tweet

Like this:

Like Loading...

Related

columnmetadataResultsettable

Post navigation

Previous Post[Solved] Elasticsearch “java.net.BindException: Address already in use”Next PostJava, How to convert List to Arrays and Array to ArrayList

You must log in to post a comment.

Blogs By Category

Advertisements

Top Posts & Pages

  • [Solved]: Maven Error "Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project XYZ: There are test failures."
  • [Solved] com.fasterxml.jackson.databind.exc. InvalidDefinitionException: Cannot construct instance of `XYZ` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
  • [Solved] Java UnsupportedClassVersionError : Compiled by a more recent version of the Java Runtime (class file version X), this version of the Java Runtime only recognizes class file versions up to Y
  • [Solved] java.lang.ClassCastException: org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerContext
  • [Solved] Spring Data JPA :QueryCreationException: Could not create query for public abstract method XYZ
Advertisements

Recommendations

  • Java: Coding & Review Best Practices
  • JDBC Coding Best Practices
  • Spring Boot + REST Tutorial
Advertisements

Interview Questions and Answers

  • Elasticsearch Interview Questions and Answers
  • Java: Interview Questions and Answers
  • JDBC Interview Questions And Answers
  • Spring Boot + REST Tutorial
  • [100+] Frequently Asked Java Program
Advertisements
Advertisements

“Learn From Others Experience"

Java Tutorial

Java Tutorial


Java :Overview and Setup
  • Java Overview
  • Java Evaluation
  • Environment Setup
  • Upgrade JDK in Eclipse
  • "Hello World" Program
  • Program Execution
  • Execution Steps
  • main() Variations
  • JIT,JDK,JRE,SDK,JVM

Java Keywords
Java Data Types
  • Primitive Type
  • Non-Primitive Type

Java Variable & Literals
Java Idnetifiers
Java Statements
  • Blocks
  • Empty Statements
  • Declaration Statements
  • Expression Statements
  • Control Flow Statement
    • Decision Making
      • if
      • if-else
      • if-else if
      • switch
    • Looping
      • for loop
      • while loop
      • do-while loop
      • for-each loop
    • Branching
      • break
      • continue
      • return
Reachability of Statements
Java Operators
  • Unary Operators
  • Arithmatic Operators
  • Relational Operators
  • Conditional Operators
  • Bitwise Shift Operators
  • Logical Operators
  • Assignment Operators
  • Instanceof Operators
  • Boolean Operators
  • Ternary Operators
  • Operators Precedence

Java Comments
Java Documentation
Java OOPS Concepts
  • Naming Convention
  • Java Object
  • Java Class
  • Object Cretaion Ways
  • Type of Classes
  • Constructor
  • static keyword
  • this keyword

Java Inheritance
  • Inheritance(IS-A)
  • Aggregation(HAS-A)
  • Aggregation Vs Composition
  • super keyword
  • Constructor Chaining

Java Polymorphism
  • Method Overloading
  • Compiletime Polymorphism
  • Method Overriding
  • Runtime Polymorphism
  • Overloading vs Overriding
  • Covariant Return Type
  • Instance Initializer Block
  • final Keyword
  • Dynamic Binding
  • instanceof Operator

Java Abstraction
  • Abstract Class
  • Interface
  • Nested Interface
  • Marker Interface
  • Abstract Vs Interface

Java Encapsulation
  • Package
  • Import
  • Access Modifiers

OOPS Misll.
  • Java Object Class
  • Object Cloning
  • Shallow Vs Deep Cloning
  • Wrapper Class
    • Byte
    • Short
    • Integer
    • Long
    • Float
    • Double
    • Boolean
    • Character
    • Number
  • strictfp keyword

Java :Array

Java :String Handling

Java :Exception Handling

Java :Collection

Java :Date & Time

Java :IO

Java :Conversion

Java :JDBC

Java :New Features

Java :Interview Questions

Java :Logging

Java :JSON Handling

Java :YAML Handling

Java : Testing

Java :Masking
Masking Tutorial

Log4j Masking
XML Masking
Java Object Masking
Java logs Masking

Web Page Masking


  • SPI
  • Aadhar Number
  • Account Number
  • Credit Card
  • CVV/CVC
  • Date Of Birth
  • Driving License
  • IP
  • ITIN
  • Rounting Number
  • SSN
  • Passport
  • Pincode/Zipcode
JSON Tutorial

JSON Overview
JSON Data Type & Syntax
JSON Java Parsers
JSON + JACKSON
  • JSON to/from Java
  • JSON to/from Java Map
  • JSON Exclude fields
  • JSON file to/from List
  • Dynamic JSON

JSON + GSON
  • GSON Installation
  • JSON Formatting
  • JSON Null Serialization
  • JSON to/from Java

JSON + YAML
  • YAML Vs JSON
  • YAML to/from JSON
  • YAML to/from JSON List

JSON SPI Masking
Log4j JSON Configuration
JSON Issues Solutions
YAML Tutorial

YAML Introduction
YAML Supporting Language and Tools
Enable YAML Editor in Eclipse
YAML Syntax
YAML Validation Online Tools
YAML & JSON
  • YAML to JSON
  • YAML to JSON List
  • JSON vs YAML

Sample filebeat.yml
  • Filebeat Logging
  • Filebeat + Logstash
  • Filebeat + Stacktrace
  • Filebeat + Elasticsearch
  • Filebeat + Kafka
  • Filebeat+ Elasticsearch + Kibana

  • YAML Issues Solutions
JDBC Tutorial

JDBC Overview

Architecture Model

History and Features Evaluations

Drivers Types and Uses

Drivers for Databases

Connect with Database

Connect with Oracle

Connect with MySQL

Connect with Access

Driver Manager Class

Connection Interface

Exception Handling

JDBC : Stored Procedure

JDBC : Function

Differences
Statement Vs PreparedStatement Vs CallableSatement

executeQuery() Vs executeUpdate() Vs execute() method

Stored Procedure vs functions

JDBC Issues & Solutions
[Solved]ClassNotFoundException: org.hsqldb.jdbcDriver

[Solved]java.sql.SQLSyntaxErrorException: unexpected token: XYZ

[Solved]CommunicationsException: Communications link failure

[Solved] SQLException: No suitable driver

[Solved]SQLServerException: Invalid object name ‘dual’

[Solved]SQLSyntaxErrorException: Unknown database ‘database_name’

[Solved]SQLException: ORA-28000: the account is locked

[Solved] MySQLNonTransientConnectionException: Could not create connection to database server.

[Solved]SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near…

[Solved]SQLException: Can’t drop database ‘database_name’; database doesn’t exist


Maven Tutorial

Maven Overview

Maven Installation
  • Install On Window
  • Install On Linux

Add 3rd Party & external jar
Application Creation
  • Java Console Project
  • Dynamic Web Application + Eclipse
Issues & Solutions
  • [Solved] Maven: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a
  • Maven Connect Timeout from/to Central “https://repo.maven.apache.org/maven2”
  • [Solved] Could not transfer artifact org.springframework:XYZ from/to central (https://repo.maven.apache.org/maven2”
  • [Solved] Maven Error On Eclipse/STS : Could Not Calculate Build Plan Org.Apache.Maven.Plugins:maven-Jar-Plugin:jar:2.4
  • [Solved] Maven Error On Eclipse/STS : Failure To Transfer Org.Apache.Maven.Plugins:maven-Surefire-Plugin:pom:2.12.4
Gradle Tutorial


Gradle Overview
Ant vs maven
Maven Vs Gradle
Gradle : Installation
  • Gradle on Window
  • Gradle on Linux/Mac

Gradle : Eclipse/STS Integration
Gradle : Repository
Gradle : Dependency
Gradle : Tasks
Gradle : Logging
Logging Tutorial

Java :Logging
  • Log4j Overview
  • Log4j2 New Features
  • Compare Other Frameworks

Log4J XML Configuration
  • Log4j Dependency
  • Log4j Severity Levels
  • Log4j Log Formatting
  • Log4j Log Appenders
  • Log4j Rolling File Appenders

Log4J JSON Configuration
  • JSON Dependency
  • JSON Configuration

Centralize Logging
  • Integrate Filebeat, Kafka, Logstash, Elasticsearch and Kibana

Logs Masking
  • Mask Logs SPI
  • Mask XML SPI
  • Mask JSON SPI
  • Mask Java Object SPI

Log4J Issues & Solutions
  • [Solved] ClassCastException: SLF4JLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerContext
JUnit/Mockito Tutorial

  • Software Testing
  • Unit Testing
  • JUnit

JUnit 5
  • JUnit 5: Introduction
  • JUnit 5: Architecture
  • Junit 5: Env Setup
  • JUnit 5: Write Test Case

Mocking Frameworks
  • JUnit + Mockito
  • Exception Hierarchy

Code Coverage
  • JUnit : Code Coverage
  • Code Coverage Plugin

Issues & Solutions
  • Mockito Issues

Best Practices
  • JUnit : Best Practices
Advertisements
Advertisements
Advertisements

Java Tutorial


Java :Overview and Setup
  • Java Overview
  • Java Evaluation
  • Environment Setup
  • Upgrade JDK in Eclipse
  • "Hello World" Program
  • Program Execution
  • Execution Steps
  • main() Variations
  • JIT,JDK,JRE,SDK,JVM

Java Keywords
Java Data Types
  • Primitive Type
  • Non-Primitive Type

Java Variable & Literals
Java Idnetifiers
Java Statements
  • Blocks
  • Empty Statements
  • Declaration Statements
  • Expression Statements
  • Control Flow Statement
    • Decision Making
      • if
      • if-else
      • if-else if
      • switch
    • Looping
      • for loop
      • while loop
      • do-while loop
      • for-each loop
    • Branching
      • break
      • continue
      • return
Reachability of Statements
Java Operators
  • Unary Operators
  • Arithmatic Operators
  • Relational Operators
  • Conditional Operators
  • Bitwise Shift Operators
  • Logical Operators
  • Assignment Operators
  • Instanceof Operators
  • Boolean Operators
  • Ternary Operators
  • Operators Precedence

Java Comments
Java Documentation
Java OOPS Concepts
  • Naming Convention
  • Java Object
  • Java Class
  • Object Cretaion Ways
  • Type of Classes
  • Constructor
  • static keyword
  • this keyword

Java Inheritance
  • Inheritance(IS-A)
  • Aggregation(HAS-A)
  • Aggregation Vs Composition
  • super keyword
  • Constructor Chaining

Java Polymorphism
  • Method Overloading
  • Compiletime Polymorphism
  • Method Overriding
  • Runtime Polymorphism
  • Overloading vs Overriding
  • Covariant Return Type
  • Instance Initializer Block
  • final Keyword
  • Dynamic Binding
  • instanceof Operator

Java Abstraction
  • Abstract Class
  • Interface
  • Nested Interface
  • Marker Interface
  • Abstract Vs Interface

Java Encapsulation
  • Package
  • Import
  • Access Modifiers

OOPS Misll.
  • Java Object Class
  • Object Cloning
  • Shallow Vs Deep Cloning
  • Wrapper Class
    • Byte
    • Short
    • Integer
    • Long
    • Float
    • Double
    • Boolean
    • Character
    • Number
  • strictfp keyword

Java :Array

Java :String Handling

Java :Exception Handling

Java :Collection

Java :Date & Time

Java :IO

Java :Conversion

Java :JDBC

Java :New Features

Java :Interview Questions

Java :Logging

Java :JSON Handling

Java :YAML Handling

Java : Testing

Java :Masking

Tutorials

  • Data Structure and Programming Tutorial
  • Elasticsearch Tutorial
  • Filebeat Tutorial
  • Java : IO Tutorial
  • Java: Date and Time Tutorial
  • Java: Exception Handling Tutorial
  • JDBC Tutorial
  • JSON Tutorial
  • Junit 5 Tutorial
  • Kafka Tutorial
  • Logstash Tutorial
  • Maven Tutorial
  • Mockito + JUnit Tutorial
  • Spring Boot + REST Tutorial
  • TIKA Tutorial
  • YAML Tutorial

Issues Solutions

  • Camel Issues & Solutions
  • Eclipse/STS Issues & Solutions
  • Elasticsearch Issues
  • Filebeat Issues
  • Gradle Issues & Solutions
  • Hibernate Issues & Solutions
  • JAVA Issues and Solutions
  • JAXB Issues & Solutions
  • JDBC Issues and Solutions
  • JSON Issues Solutions
  • Junit/Mockito Issues & Solutions
  • Kafka and Zookeeper Issues
  • Logging/Log4j Issues & Solutions
  • Logstash Issues & Solutions
  • Maven Issues & Solutions
  • MySQL Issues & Solutions
  • OpenShift Issues & Solutions
  • Python Issues & Solutions
  • Spring Boot + REST Tutorial
  • Springboot Data/JPA Issues & Solutions
  • SQL Server Issues & Solutions
  • TIKA Issues and Solutions
  • Tomcat Issues & Solutions
  • YAML Issues

Interview Questions and Answers

  • Elasticsearch Interview Questions and Answers
  • Java: Interview Questions and Answers
  • JDBC Interview Questions And Answers
  • Spring Boot + REST Tutorial
  • [100+] Frequently Asked Java Program

Follow Our Blogs via Email

Enter your email address to follow this blog and receive notifications of our new posts by email.

Join 2,407 other subscribers

Recommendations

  • Java: Coding & Review Best Practices
  • JDBC Coding Best Practices
  • Spring Boot + REST Tutorial
Contact
%d bloggers like this: