WebDev Hell
This commit is contained in:
		@@ -0,0 +1,27 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project-shared-configuration>
 | 
			
		||||
    <!--
 | 
			
		||||
This file contains additional configuration written by modules in the NetBeans IDE.
 | 
			
		||||
The configuration is intended to be shared among all the users of project and
 | 
			
		||||
therefore it is assumed to be part of version control checkout.
 | 
			
		||||
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
 | 
			
		||||
-->
 | 
			
		||||
    <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
 | 
			
		||||
        <!--
 | 
			
		||||
Properties that influence various parts of the IDE, especially code formatting and the like. 
 | 
			
		||||
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
 | 
			
		||||
That way multiple projects can share the same settings (useful for formatting rules for example).
 | 
			
		||||
Any value defined here will override the pom.xml file value but is only applicable to the current project.
 | 
			
		||||
-->
 | 
			
		||||
        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>10-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
 | 
			
		||||
        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv700ee10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
 | 
			
		||||
        <org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
 | 
			
		||||
        <netbeans.hint.jdkPlatform>JDK_11__System_</netbeans.hint.jdkPlatform>
 | 
			
		||||
        <org-netbeans-modules-css-prep.less_2e_mappings>/less:/css</org-netbeans-modules-css-prep.less_2e_mappings>
 | 
			
		||||
        <org-netbeans-modules-css-prep.less_2e_enabled>false</org-netbeans-modules-css-prep.less_2e_enabled>
 | 
			
		||||
        <org-netbeans-modules-css-prep.sass_2e_enabled>false</org-netbeans-modules-css-prep.sass_2e_enabled>
 | 
			
		||||
        <org-netbeans-modules-css-prep.sass_2e_compiler_2e_options/>
 | 
			
		||||
        <org-netbeans-modules-css-prep.less_2e_compiler_2e_options/>
 | 
			
		||||
        <org-netbeans-modules-css-prep.sass_2e_mappings>/scss:/css</org-netbeans-modules-css-prep.sass_2e_mappings>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project-shared-configuration>
 | 
			
		||||
							
								
								
									
										82
									
								
								Semester 2/Assignments/suppliers_parts_old/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								Semester 2/Assignments/suppliers_parts_old/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
			
		||||
    <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
    <groupId>edu.slcc.asdv</groupId>
 | 
			
		||||
    <artifactId>suppliers_parts</artifactId>
 | 
			
		||||
    <version>1</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>suppliers_parts-1</name>
 | 
			
		||||
    
 | 
			
		||||
    <properties>
 | 
			
		||||
        <maven.compiler.source>11</maven.compiler.source>
 | 
			
		||||
        <maven.compiler.target>11</maven.compiler.target>
 | 
			
		||||
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
 | 
			
		||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
        <failOnMissingWebXml>false</failOnMissingWebXml>
 | 
			
		||||
        <jakartaee>10.0.0</jakartaee>
 | 
			
		||||
    </properties>
 | 
			
		||||
    
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>jakarta.platform</groupId>
 | 
			
		||||
            <artifactId>jakarta.jakartaee-api</artifactId>
 | 
			
		||||
            <version>${jakartaee}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>mysql</groupId>
 | 
			
		||||
            <artifactId>mysql-connector-java</artifactId>
 | 
			
		||||
            <version>8.0.33</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
    </dependencies>
 | 
			
		||||
    
 | 
			
		||||
    <build>
 | 
			
		||||
        <plugins>
 | 
			
		||||
            <plugin>
 | 
			
		||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
                <artifactId>maven-compiler-plugin</artifactId>
 | 
			
		||||
                <version>3.8.1</version>
 | 
			
		||||
                <configuration>
 | 
			
		||||
                    <source>11</source>
 | 
			
		||||
                    <target>11</target>
 | 
			
		||||
                    <compilerArguments>
 | 
			
		||||
                        <endorseddirs>${endorsed.dir}</endorseddirs>
 | 
			
		||||
                    </compilerArguments>
 | 
			
		||||
                </configuration>
 | 
			
		||||
            </plugin>
 | 
			
		||||
            <plugin>
 | 
			
		||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
                <artifactId>maven-war-plugin</artifactId>
 | 
			
		||||
                <version>2.3</version>
 | 
			
		||||
                <configuration>
 | 
			
		||||
                    <failOnMissingWebXml>false</failOnMissingWebXml>
 | 
			
		||||
                </configuration>
 | 
			
		||||
            </plugin>
 | 
			
		||||
            <plugin>
 | 
			
		||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
                <artifactId>maven-dependency-plugin</artifactId>
 | 
			
		||||
                <version>2.6</version>
 | 
			
		||||
                <executions>
 | 
			
		||||
                    <execution>
 | 
			
		||||
                        <phase>validate</phase>
 | 
			
		||||
                        <goals>
 | 
			
		||||
                            <goal>copy</goal>
 | 
			
		||||
                        </goals>
 | 
			
		||||
                        <configuration>
 | 
			
		||||
                            <outputDirectory>${endorsed.dir}</outputDirectory>
 | 
			
		||||
                            <silent>true</silent>
 | 
			
		||||
                            <artifactItems>
 | 
			
		||||
                                <artifactItem>
 | 
			
		||||
                                    <groupId>jakarta.platform</groupId>
 | 
			
		||||
                                    <artifactId>jakarta.jakartaee-api</artifactId>
 | 
			
		||||
                                    <version>${jakartaee}</version>
 | 
			
		||||
                                    <type>jar</type>
 | 
			
		||||
                                </artifactItem>
 | 
			
		||||
                            </artifactItems>
 | 
			
		||||
                        </configuration>
 | 
			
		||||
                    </execution>
 | 
			
		||||
                </executions>
 | 
			
		||||
            </plugin>
 | 
			
		||||
        </plugins>
 | 
			
		||||
    </build>
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,15 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
 | 
			
		||||
 */
 | 
			
		||||
package edu.slcc.asdv.bl;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
public interface DBase<T> {
 | 
			
		||||
   List<? extends List<T>> listAll();
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,109 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 | 
			
		||||
 */
 | 
			
		||||
package edu.slcc.asdv.bl;
 | 
			
		||||
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.PreparedStatement;
 | 
			
		||||
import java.sql.ResultSet;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
public class DatabaseManipulationSupplier implements DBase<Supplier> {
 | 
			
		||||
    
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<List<Supplier>> listAll()
 | 
			
		||||
    {
 | 
			
		||||
        List<List<? extends Supplier>> tableSuppliers =  new ArrayList<ArrayList<Supplier>>();
 | 
			
		||||
       Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        String table = "";
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        ResultSet rs = null;
 | 
			
		||||
        String sqlStr = "SELECT  *  FROM supplier";
 | 
			
		||||
        try {
 | 
			
		||||
            //prepare statement
 | 
			
		||||
            ps = con.prepareStatement(sqlStr);
 | 
			
		||||
            //execute
 | 
			
		||||
            rs = ps.executeQuery();
 | 
			
		||||
            while (rs.next()) {
 | 
			
		||||
                String sNumber = rs.getString(1) + " ";
 | 
			
		||||
                String sName = rs.getString(2) + " ";
 | 
			
		||||
                String bdate = rs.getDate(3) + " ";
 | 
			
		||||
                String status = rs.getInt(4) + " ";
 | 
			
		||||
                String city = rs.getString(5) + " ";
 | 
			
		||||
                table += sNumber + sName + bdate + status + city + "</br>";
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            ex.printStackTrace();
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                closeDatabaseConnection(con);
 | 
			
		||||
                // close the resources 
 | 
			
		||||
                if (ps != null) {
 | 
			
		||||
                    ps.close();
 | 
			
		||||
                }
 | 
			
		||||
            } catch (SQLException sqle) {
 | 
			
		||||
                sqle.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        result = table;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void viewSupplier()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        String ret = "";
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        ResultSet rs = null;
 | 
			
		||||
        String sqlStr = "SELECT snumber, sname, status, city, birthday  FROM supplier WHERE snumber=?";
 | 
			
		||||
        try {
 | 
			
		||||
            //prepare statement
 | 
			
		||||
            ps = con.prepareStatement(sqlStr);
 | 
			
		||||
            ps.setString(1, snumber);
 | 
			
		||||
            //execute
 | 
			
		||||
            rs = ps.executeQuery();
 | 
			
		||||
            if (rs.next()) {
 | 
			
		||||
                this.snumber = rs.getString("snumber");
 | 
			
		||||
                ret += this.snumber + " ";
 | 
			
		||||
                this.sname = rs.getString("sname");
 | 
			
		||||
                ret += this.sname + " ";
 | 
			
		||||
                this.status = rs.getInt("status");
 | 
			
		||||
                ret += this.status + " ";
 | 
			
		||||
                this.city = rs.getString("city");
 | 
			
		||||
                ret += this.city + " ";
 | 
			
		||||
 | 
			
		||||
                Object bDate = rs.getObject("birthday");
 | 
			
		||||
                this.birthday = bDate.toString();
 | 
			
		||||
                ret += this.birthday;
 | 
			
		||||
            } else {
 | 
			
		||||
                ret = this.snumber + " doesn't exist.";
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            ex.printStackTrace();
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                this.closeDatabaseConnection(con);
 | 
			
		||||
                if (ps != null) {
 | 
			
		||||
                    ps.close();
 | 
			
		||||
                }
 | 
			
		||||
            } catch (SQLException sqle) {
 | 
			
		||||
                sqle.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        this.result = ret;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,55 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 | 
			
		||||
 */
 | 
			
		||||
package edu.slcc.asdv.bl;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
public class Supplier {
 | 
			
		||||
    
 | 
			
		||||
    private String snumber;
 | 
			
		||||
    private String sname;
 | 
			
		||||
 | 
			
		||||
    public String getSname()
 | 
			
		||||
    {
 | 
			
		||||
        return sname;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSname(String sname)
 | 
			
		||||
    {
 | 
			
		||||
        this.sname = sname;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String birthday;
 | 
			
		||||
 | 
			
		||||
    public String getBirthday()
 | 
			
		||||
    {
 | 
			
		||||
        return birthday;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setBirthday(String birthday)
 | 
			
		||||
    {
 | 
			
		||||
        this.birthday = birthday;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public String getSnumber()
 | 
			
		||||
    {
 | 
			
		||||
        return snumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSnumber(String snumber)
 | 
			
		||||
    {
 | 
			
		||||
        this.snumber = snumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public String toString()
 | 
			
		||||
    {
 | 
			
		||||
        return "Supplier{" + "snumber=" + snumber + ", sname=" + sname + ", birthday=" + birthday + '}';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,380 @@
 | 
			
		||||
package edu.slcc.asdv.bl;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.DriverManager;
 | 
			
		||||
import java.sql.PreparedStatement;
 | 
			
		||||
import java.sql.ResultSet;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
import java.text.ParseException;
 | 
			
		||||
import java.text.SimpleDateFormat;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import jakarta.enterprise.context.ApplicationScoped;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author a. v. markou
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "suppliers")
 | 
			
		||||
@ApplicationScoped
 | 
			
		||||
public class Suppliers implements Serializable {
 | 
			
		||||
 | 
			
		||||
    String snumber = "";
 | 
			
		||||
    String sname = "";
 | 
			
		||||
    int status = 0;
 | 
			
		||||
    String birthday = "";
 | 
			
		||||
    String city = "";
 | 
			
		||||
    String result = "";
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public Suppliers()
 | 
			
		||||
    {
 | 
			
		||||
        connection();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getSnumber()
 | 
			
		||||
    {
 | 
			
		||||
        return snumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSnumber(String snumber)
 | 
			
		||||
    {
 | 
			
		||||
        this.snumber = snumber;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getSname()
 | 
			
		||||
    {
 | 
			
		||||
        return sname;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSname(String sname)
 | 
			
		||||
    {
 | 
			
		||||
        this.sname = sname;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public int getStatus()
 | 
			
		||||
    {
 | 
			
		||||
        return status;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setStatus(int status)
 | 
			
		||||
    {
 | 
			
		||||
        this.status = status;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getBirthday()
 | 
			
		||||
    {
 | 
			
		||||
        return birthday;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setBirthday(String birthday)
 | 
			
		||||
    {
 | 
			
		||||
        this.birthday = birthday;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getCity()
 | 
			
		||||
    {
 | 
			
		||||
        return city;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setCity(String city)
 | 
			
		||||
    {
 | 
			
		||||
        this.city = city;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getConnectionResponse()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        if (con != null) {
 | 
			
		||||
            return "<p style=\"color:green\">Connection succesfull! <br />";
 | 
			
		||||
        } else {
 | 
			
		||||
            connection();
 | 
			
		||||
            return "<p style=\"color:red\">Connection failed! <br />";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private Connection connection() //throws InstantiationException, IllegalAccessException
 | 
			
		||||
    {
 | 
			
		||||
        /*
 | 
			
		||||
                String databaseName = "suppliers_parts_23";
 | 
			
		||||
                String userName = "admin";
 | 
			
		||||
                String password = "RangerDog01!";
 | 
			
		||||
                String URL2 = "com.mysql.jdbc.Driver";
 | 
			
		||||
                Connection con = null;
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        try {// Load Sun's jdbc driver
 | 
			
		||||
            Class.forName(URL2).newInstance();
 | 
			
		||||
            System.out.println("JDBC Driver loaded!");
 | 
			
		||||
        } catch (Exception e) // driver not found
 | 
			
		||||
        {
 | 
			
		||||
            System.err.println("Unable to load database driver");
 | 
			
		||||
            System.err.println("Details : " + e);
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        String ip = "localhost"; //internet connection
 | 
			
		||||
        String url = "jdbc:mysql://" + ip + ":3306/" + databaseName + "?useSSL=false";
 | 
			
		||||
        System.out.println(url);
 | 
			
		||||
        try {
 | 
			
		||||
            con = DriverManager.getConnection(url, userName, password);
 | 
			
		||||
            con.setReadOnly(false);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            System.err.println(e.toString());
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        System.out.println("connection successfull");
 | 
			
		||||
        return con;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void clear()
 | 
			
		||||
    {
 | 
			
		||||
        status = 0;
 | 
			
		||||
        snumber = "";
 | 
			
		||||
        sname = "";
 | 
			
		||||
        birthday = "";
 | 
			
		||||
        city = "";
 | 
			
		||||
        result = "";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void listAll()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        String table = "";
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        ResultSet rs = null;
 | 
			
		||||
        String sqlStr = "SELECT  *  FROM supplier";
 | 
			
		||||
        try {
 | 
			
		||||
            //prepare statement
 | 
			
		||||
            ps = con.prepareStatement(sqlStr);
 | 
			
		||||
            //execute
 | 
			
		||||
            rs = ps.executeQuery();
 | 
			
		||||
            int row = 0;
 | 
			
		||||
            while (rs.next()) {
 | 
			
		||||
                String sNumber = rs.getString(1) + " ";
 | 
			
		||||
                String sName = rs.getString(2) + " ";
 | 
			
		||||
                String bdate = rs.getDate(3) + " ";
 | 
			
		||||
                String status = rs.getInt(4) + " ";
 | 
			
		||||
                String city = rs.getString(5) + " ";
 | 
			
		||||
                table += sNumber + sName + bdate + status + city + "</br>";
 | 
			
		||||
                row++;
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            ex.printStackTrace();
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                closeDatabaseConnection(con);
 | 
			
		||||
                // close the resources 
 | 
			
		||||
                if (ps != null) {
 | 
			
		||||
                    ps.close();
 | 
			
		||||
                }
 | 
			
		||||
            } catch (SQLException sqle) {
 | 
			
		||||
                sqle.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        result = table;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void viewSupplier()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        String ret = "";
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        ResultSet rs = null;
 | 
			
		||||
        String sqlStr = "SELECT snumber, sname, status, city, birthday  FROM supplier WHERE snumber=?";
 | 
			
		||||
        try {
 | 
			
		||||
            //prepare statement
 | 
			
		||||
            ps = con.prepareStatement(sqlStr);
 | 
			
		||||
            ps.setString(1, snumber);
 | 
			
		||||
            //execute
 | 
			
		||||
            rs = ps.executeQuery();
 | 
			
		||||
            if (rs.next()) {
 | 
			
		||||
                this.snumber = rs.getString("snumber");
 | 
			
		||||
                ret += this.snumber + " ";
 | 
			
		||||
                this.sname = rs.getString("sname");
 | 
			
		||||
                ret += this.sname + " ";
 | 
			
		||||
                this.status = rs.getInt("status");
 | 
			
		||||
                ret += this.status + " ";
 | 
			
		||||
                this.city = rs.getString("city");
 | 
			
		||||
                ret += this.city + " ";
 | 
			
		||||
 | 
			
		||||
                Object bDate = rs.getObject("birthday");
 | 
			
		||||
                this.birthday = bDate.toString();
 | 
			
		||||
                ret += this.birthday;
 | 
			
		||||
            } else {
 | 
			
		||||
                ret = this.snumber + " doesn't exist.";
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            ex.printStackTrace();
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                this.closeDatabaseConnection(con);
 | 
			
		||||
                if (ps != null) {
 | 
			
		||||
                    ps.close();
 | 
			
		||||
                }
 | 
			
		||||
            } catch (SQLException sqle) {
 | 
			
		||||
                sqle.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        this.result = ret;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void updateSupplier()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        PreparedStatement updateSupplier = null;
 | 
			
		||||
        try {
 | 
			
		||||
 | 
			
		||||
            updateSupplier = con.prepareStatement(
 | 
			
		||||
                    "UPDATE supplier SET snumber=?, sname=?, status=?, birthday=?, city=? WHERE snumber=?");
 | 
			
		||||
 | 
			
		||||
            updateSupplier.setString(1, snumber);
 | 
			
		||||
            updateSupplier.setString(2, sname);
 | 
			
		||||
            updateSupplier.setInt(3, status);
 | 
			
		||||
            java.sql.Date bd = stringDateToSqlDate(this.birthday);
 | 
			
		||||
            updateSupplier.setDate(4, bd);
 | 
			
		||||
            updateSupplier.setString(5, city);
 | 
			
		||||
            updateSupplier.setString(6, snumber);
 | 
			
		||||
            int updateCount = updateSupplier.executeUpdate();
 | 
			
		||||
 | 
			
		||||
            result = "number of rows affected: " + updateCount;
 | 
			
		||||
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            System.err.println(ex.toString());
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                this.closeDatabaseConnection(con);
 | 
			
		||||
                // close the resources 
 | 
			
		||||
                if (updateSupplier != null) {
 | 
			
		||||
                    updateSupplier.close();
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            } catch (SQLException sqlee) {
 | 
			
		||||
                sqlee.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteSupplier()
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        int rowsAffected = -1;
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            String query = "DELETE FROM supplier WHERE snumber=? ";
 | 
			
		||||
            ps = con.prepareStatement(query);
 | 
			
		||||
            ps.setString(1, snumber);
 | 
			
		||||
            rowsAffected = ps.executeUpdate();
 | 
			
		||||
            result = "number of rows affected: " + rowsAffected;
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            System.err.println(ex.toString());
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                this.closeDatabaseConnection(con);
 | 
			
		||||
                // close the resources 
 | 
			
		||||
                if (ps != null) {
 | 
			
		||||
                    ps.close();
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            } catch (SQLException sqlee) {
 | 
			
		||||
                sqlee.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void insertSupplier()
 | 
			
		||||
    {
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null) {
 | 
			
		||||
            result = "cannot connect to database";
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        PreparedStatement updateSupplier = null;
 | 
			
		||||
        try {
 | 
			
		||||
            updateSupplier = con.prepareStatement(
 | 
			
		||||
                    "INSERT INTO supplier (snumber, sname, status, birthday, city ) "
 | 
			
		||||
                    + "VALUES ( ?, ?, ? , ? ,? )");
 | 
			
		||||
            updateSupplier.setString(1, snumber);
 | 
			
		||||
            updateSupplier.setString(2, sname);
 | 
			
		||||
            updateSupplier.setInt(3, status);
 | 
			
		||||
            java.sql.Date sqlDate = stringDateToSqlDate(birthday);
 | 
			
		||||
            updateSupplier.setDate(4, sqlDate);
 | 
			
		||||
            updateSupplier.setString(5, city);
 | 
			
		||||
 | 
			
		||||
            int updateCount = updateSupplier.executeUpdate();
 | 
			
		||||
 | 
			
		||||
            result = "number of rows affected: " + updateCount;
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
            System.err.println(ex.toString());
 | 
			
		||||
            result = ex.toString();
 | 
			
		||||
        } finally {
 | 
			
		||||
            try {
 | 
			
		||||
                this.closeDatabaseConnection(con);
 | 
			
		||||
                // close the resources 
 | 
			
		||||
                if (updateSupplier != null) {
 | 
			
		||||
                    updateSupplier.close();
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            } catch (SQLException e) {
 | 
			
		||||
                System.err.println(e.toString());
 | 
			
		||||
                result = e.toString();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private java.sql.Date stringDateToSqlDate(String sDate)
 | 
			
		||||
    {
 | 
			
		||||
        java.util.Date date = null;
 | 
			
		||||
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 | 
			
		||||
        try {
 | 
			
		||||
            date = sdf.parse(sDate);
 | 
			
		||||
        } catch (ParseException e) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
        return new java.sql.Date(date.getTime());
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getResult()
 | 
			
		||||
    {
 | 
			
		||||
        return "<p style=\"color:green\">Suppliers <br />" + result;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void closeDatabaseConnection(Connection con)
 | 
			
		||||
    {
 | 
			
		||||
        try {
 | 
			
		||||
            if (con != null) {
 | 
			
		||||
                con.close();
 | 
			
		||||
            }
 | 
			
		||||
        } catch (SQLException e) {
 | 
			
		||||
            result = e.toString();
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
package edu.slcc.asdv.suppliers_parts;
 | 
			
		||||
 | 
			
		||||
import jakarta.ws.rs.ApplicationPath;
 | 
			
		||||
import jakarta.ws.rs.core.Application;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Configures Jakarta RESTful Web Services for the application.
 | 
			
		||||
 * @author Juneau
 | 
			
		||||
 */
 | 
			
		||||
@ApplicationPath("resources")
 | 
			
		||||
public class JakartaRestConfiguration extends Application {
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
package edu.slcc.asdv.suppliers_parts.resources;
 | 
			
		||||
 | 
			
		||||
import jakarta.ws.rs.GET;
 | 
			
		||||
import jakarta.ws.rs.Path;
 | 
			
		||||
import jakarta.ws.rs.core.Response;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author 
 | 
			
		||||
 */
 | 
			
		||||
@Path("jakartaee10")
 | 
			
		||||
public class JakartaEE10Resource {
 | 
			
		||||
    
 | 
			
		||||
    @GET
 | 
			
		||||
    public Response ping(){
 | 
			
		||||
        return Response
 | 
			
		||||
                .ok("ping Jakarta EE")
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
 | 
			
		||||
    <!-- Define Persistence Unit -->
 | 
			
		||||
    <persistence-unit name="my_persistence_unit">
 | 
			
		||||
        
 | 
			
		||||
    </persistence-unit>
 | 
			
		||||
</persistence>
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
<?xml version='1.0' encoding='UTF-8' ?>
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml"
 | 
			
		||||
      xmlns:h="http://xmlns.jcp.org/jsf/html">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Facelet Title</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <h:panelGrid columns="2">
 | 
			
		||||
                <h:outputLabel value="table name "/>
 | 
			
		||||
                <h:inputText value="#{queryBean.tableName}"/>
 | 
			
		||||
                <h:commandButton value="SELECT * FROM table" action="#{queryBean.queries()}"/>
 | 
			
		||||
                <h:outputText escape="false" style="color:green" value="#{queryBean.table}"> </h:outputText>  
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
 | 
			
		||||
        </h:form>
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
 | 
			
		||||
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
 | 
			
		||||
       bean-discovery-mode="all">
 | 
			
		||||
</beans>
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
 | 
			
		||||
<!--
 | 
			
		||||
    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 | 
			
		||||
    
 | 
			
		||||
    This program and the accompanying materials are made available under the
 | 
			
		||||
    terms of the Eclipse Public License v. 2.0, which is available at
 | 
			
		||||
    http://www.eclipse.org/legal/epl-2.0.
 | 
			
		||||
 | 
			
		||||
    This Source Code may also be made available under the following Secondary
 | 
			
		||||
    Licenses when the conditions for such availability set forth in the
 | 
			
		||||
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 | 
			
		||||
    version 2 with the GNU Classpath Exception, which is available at
 | 
			
		||||
    https://www.gnu.org/software/classpath/license.html.
 | 
			
		||||
 | 
			
		||||
    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 | 
			
		||||
-->
 | 
			
		||||
<glassfish-web-app error-url="">
 | 
			
		||||
  <class-loader delegate="true"/>
 | 
			
		||||
  <jsp-config>
 | 
			
		||||
    <property name="keepgenerated" value="true">
 | 
			
		||||
      <description>Keep a copy of the generated servlet class' java code.</description>
 | 
			
		||||
    </property>
 | 
			
		||||
  </jsp-config>
 | 
			
		||||
</glassfish-web-app>
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
 | 
			
		||||
    <context-param>
 | 
			
		||||
        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
 | 
			
		||||
        <param-value>Development</param-value>
 | 
			
		||||
    </context-param>
 | 
			
		||||
    <servlet>
 | 
			
		||||
        <servlet-name>Faces Servlet</servlet-name>
 | 
			
		||||
        <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
 | 
			
		||||
        <load-on-startup>1</load-on-startup>
 | 
			
		||||
    </servlet>
 | 
			
		||||
    <servlet-mapping>
 | 
			
		||||
        <servlet-name>Faces Servlet</servlet-name>
 | 
			
		||||
        <url-pattern>/faces/*</url-pattern>
 | 
			
		||||
    </servlet-mapping>
 | 
			
		||||
    <session-config>
 | 
			
		||||
        <session-timeout>
 | 
			
		||||
            30
 | 
			
		||||
        </session-timeout>
 | 
			
		||||
    </session-config>
 | 
			
		||||
    <welcome-file-list>
 | 
			
		||||
        <welcome-file>faces/index.xhtml</welcome-file>
 | 
			
		||||
    </welcome-file-list>
 | 
			
		||||
</web-app>
 | 
			
		||||
@@ -0,0 +1,52 @@
 | 
			
		||||
<?xml version='1.0' encoding='UTF-8' ?>
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml"
 | 
			
		||||
      xmlns:h="http://xmlns.jcp.org/jsf/html"
 | 
			
		||||
      xmlns:f="http://xmlns.jcp.org/jsf/core">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <h:outputStylesheet library="css" name="styles.css"/>
 | 
			
		||||
        <title>Supplier Parts DB</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
                 
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <h1>   Suppliers-Parts Database </h1>
 | 
			
		||||
                
 | 
			
		||||
            <h:panelGrid columns="2">
 | 
			
		||||
                <h:outputLabel styleClass="label" value="Supplier ID:"/>
 | 
			
		||||
                <h:inputText value="#{suppliers.snumber}"/>
 | 
			
		||||
            </h:panelGrid>   
 | 
			
		||||
 | 
			
		||||
            <h:panelGrid columns="8">
 | 
			
		||||
                <h:outputLabel styleClass="label" value="Supplier Name"/>
 | 
			
		||||
                <h:inputText 
 | 
			
		||||
                    value="#{suppliers.sname}"/>
 | 
			
		||||
                <h:outputLabel styleClass="label" value="Status" />
 | 
			
		||||
                <h:inputText 
 | 
			
		||||
                    value="#{suppliers.status}"/>
 | 
			
		||||
                <h:outputLabel styleClass="label" value="Birthday" />
 | 
			
		||||
                <h:inputText value="#{suppliers.birthday}"/> 
 | 
			
		||||
                
 | 
			
		||||
                <h:outputLabel styleClass="label" value="City" />
 | 
			
		||||
                <h:inputText 
 | 
			
		||||
                    value="#{suppliers.city}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:commandButton styleClass="button" value="View Supplier" action="#{suppliers.viewSupplier()}"/>
 | 
			
		||||
                <h:commandButton value="Insert Supplier" action="#{suppliers.insertSupplier}"/>
 | 
			
		||||
                <h:commandButton value="Update Supplier" action="#{suppliers.updateSupplier}"/>
 | 
			
		||||
                <h:commandButton value="Delete Supplier" action="#{suppliers.deleteSupplier}"/>
 | 
			
		||||
                <h:commandButton value="List All Suppliers" action="#{suppliers.listAll}"/>
 | 
			
		||||
                <h:commandButton value="Clear" action="#{suppliers.clear}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
 | 
			
		||||
            <h:panelGrid>
 | 
			
		||||
                <h:outputText escape="false" style="color:green" 
 | 
			
		||||
                              value="#{suppliers.result}">
 | 
			
		||||
                </h:outputText>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -0,0 +1,71 @@
 | 
			
		||||
.body {
 | 
			
		||||
   background: #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.button {
 | 
			
		||||
	margin: 10px;
 | 
			
		||||
	border-left: thin solid darkGray;
 | 
			
		||||
	border-bottom: thin solid darkGray;
 | 
			
		||||
	border-top: thin solid lightGray;
 | 
			
		||||
	border-right: thin solid lightGray;
 | 
			
		||||
        color: #777;
 | 
			
		||||
        background: #A7C942;
 | 
			
		||||
        font-family: "Comic Sans MS";
 | 
			
		||||
        border-radius: 20%;
 | 
			
		||||
}
 | 
			
		||||
h1 
 | 
			
		||||
{
 | 
			
		||||
   vertical-align: top;
 | 
			
		||||
   text-align: middle;
 | 
			
		||||
   font-style: italic;
 | 
			
		||||
   color: #888;
 | 
			
		||||
   font-size: 2em;
 | 
			
		||||
   font-family: "Comic Sans MS";
 | 
			
		||||
   
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.label
 | 
			
		||||
{
 | 
			
		||||
   color: #888;
 | 
			
		||||
   font-size: 0.8em;
 | 
			
		||||
   font-family: "Comic Sans MS";   
 | 
			
		||||
}
 | 
			
		||||
.leftImage {
 | 
			
		||||
   float: left;
 | 
			
		||||
   margin-right: 1em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.backLink {
 | 
			
		||||
	font-style: italic;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.tableHeader {
 | 
			
		||||
    font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
 | 
			
		||||
    border-collapse:collapse;
 | 
			
		||||
    font-size:1.1em;
 | 
			
		||||
    text-align:left;
 | 
			
		||||
    padding-top:5px;
 | 
			
		||||
    padding-bottom:4px;
 | 
			
		||||
    background-color:#A7C942;
 | 
			
		||||
    color:white;
 | 
			
		||||
    border:1px solid #98bf21;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.oddTableRow {
 | 
			
		||||
    border:1px solid #98bf21;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.evenTableRow {
 | 
			
		||||
    background-color: #eeeeee;
 | 
			
		||||
    font-size:1em;
 | 
			
		||||
 | 
			
		||||
    padding:3px 7px 2px 7px;
 | 
			
		||||
 | 
			
		||||
    color:#000000;
 | 
			
		||||
    background-color:#EAF2D3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.table {
 | 
			
		||||
    border:1px solid green;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,14 @@
 | 
			
		||||
<?xml version='1.0' encoding='UTF-8' ?>
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml"
 | 
			
		||||
      xmlns:h="jakarta.faces.html">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Facelet Title</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        Hello from Facelets
 | 
			
		||||
        <h:dataTable var="tableSupplier" value="#{supplierBean}">
 | 
			
		||||
            <f:facet name="snumber">
 | 
			
		||||
        </h:dataTable>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user