It works but the output is broken :)
This commit is contained in:
		
							
								
								
									
										21
									
								
								Semester 3/Assignments/AjaxReview/nb-configuration.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Semester 3/Assignments/AjaxReview/nb-configuration.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
<?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_15__System_</netbeans.hint.jdkPlatform>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project-shared-configuration>
 | 
			
		||||
							
								
								
									
										48
									
								
								Semester 3/Assignments/AjaxReview/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Semester 3/Assignments/AjaxReview/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
<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>asdv</groupId>
 | 
			
		||||
    <artifactId>AjaxReview</artifactId>
 | 
			
		||||
    <version>1</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>AjaxReview-1</name>
 | 
			
		||||
    
 | 
			
		||||
    <properties>
 | 
			
		||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
        <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>org.primefaces</groupId>
 | 
			
		||||
            <artifactId>primefaces</artifactId>
 | 
			
		||||
            <version>13.0.3</version>
 | 
			
		||||
            <classifier>jakarta</classifier>
 | 
			
		||||
        </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>
 | 
			
		||||
                </configuration>
 | 
			
		||||
            </plugin>
 | 
			
		||||
            <plugin>
 | 
			
		||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
                <artifactId>maven-war-plugin</artifactId>
 | 
			
		||||
                <version>3.3.2</version>
 | 
			
		||||
            </plugin>
 | 
			
		||||
        </plugins>
 | 
			
		||||
    </build>
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
package asdv.ajaxreview;
 | 
			
		||||
 | 
			
		||||
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 asdv.ajaxreview.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,40 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 | 
			
		||||
 * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
 | 
			
		||||
 */
 | 
			
		||||
package beans;
 | 
			
		||||
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import jakarta.enterprise.context.RequestScoped;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author asdv5
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "ajax1")
 | 
			
		||||
@RequestScoped
 | 
			
		||||
public class Ajax1
 | 
			
		||||
{
 | 
			
		||||
    private String input1;
 | 
			
		||||
    private String input2;
 | 
			
		||||
 | 
			
		||||
    public String getInput1()
 | 
			
		||||
    {
 | 
			
		||||
        return input1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setInput1(String input1)
 | 
			
		||||
    {
 | 
			
		||||
        this.input1 = input1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getInput2()
 | 
			
		||||
    {
 | 
			
		||||
        return input2;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setInput2(String input2)
 | 
			
		||||
    {
 | 
			
		||||
        this.input2 = input2;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,78 @@
 | 
			
		||||
package beans;
 | 
			
		||||
 | 
			
		||||
import jakarta.enterprise.context.RequestScoped;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import utilities.Utilities;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@Named(value = "ajax2")
 | 
			
		||||
@RequestScoped
 | 
			
		||||
public class Ajax2
 | 
			
		||||
{
 | 
			
		||||
private String farheneitTemperature;
 | 
			
		||||
private String celciusTemperature = "default value";
 | 
			
		||||
private  String testInput;
 | 
			
		||||
private String miles;
 | 
			
		||||
 | 
			
		||||
public Ajax2()
 | 
			
		||||
{
 | 
			
		||||
    System.out.println("-----------------------------------------constructor Ajax2()");
 | 
			
		||||
}
 | 
			
		||||
public String getTestInput()
 | 
			
		||||
{
 | 
			
		||||
    return this.testInput;
 | 
			
		||||
}
 | 
			
		||||
public void setTestInput( String testInput)
 | 
			
		||||
{
 | 
			
		||||
    System.out.println("testInput setter called");
 | 
			
		||||
    this.testInput = testInput;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public String getMiles()
 | 
			
		||||
    {
 | 
			
		||||
        return miles;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setMiles(String miles)
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println("miles: " + miles);
 | 
			
		||||
        this.miles = miles;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public String milesToKilometers()
 | 
			
		||||
    {
 | 
			
		||||
        if  ( this.miles == null )
 | 
			
		||||
            return null;
 | 
			
		||||
        double miles = Double.parseDouble( this.miles );
 | 
			
		||||
        double km = miles * 1.65;
 | 
			
		||||
        return String.valueOf(km);      
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public String getFarheneitTemperature(){return farheneitTemperature;}
 | 
			
		||||
 | 
			
		||||
    public void setFarheneitTemperature(String farheneitTemperature)
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println("setFarheneitTemperature: " + farheneitTemperature);
 | 
			
		||||
        this.farheneitTemperature = farheneitTemperature;
 | 
			
		||||
        this.celciusTemperature = convertFtoC();
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO, farheneitTemperature, celciusTemperature);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    public String getCelciusTemperature(){
 | 
			
		||||
        return celciusTemperature;}  
 | 
			
		||||
    private String convertFtoC()
 | 
			
		||||
    {
 | 
			
		||||
        double f = Double.parseDouble( this.farheneitTemperature );
 | 
			
		||||
        double c = (f - 32) * ( 5.0 / 9.0);
 | 
			
		||||
        System.out.println("far: " + this.farheneitTemperature);
 | 
			
		||||
        System.out.println("convert " + c);
 | 
			
		||||
        celciusTemperature = String.valueOf(c);
 | 
			
		||||
        return celciusTemperature;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,73 @@
 | 
			
		||||
package beans;
 | 
			
		||||
import java.util.logging.Level;
 | 
			
		||||
import java.util.logging.Logger;
 | 
			
		||||
import jakarta.enterprise.context.RequestScoped;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
 | 
			
		||||
@Named(value = "ajax3")
 | 
			
		||||
@RequestScoped
 | 
			
		||||
public class Ajax3
 | 
			
		||||
{
 | 
			
		||||
    private static final Logger logger
 | 
			
		||||
            = Logger.getLogger(Ajax3.class.getName());
 | 
			
		||||
    private String firstName = "default";
 | 
			
		||||
    private String lastName;
 | 
			
		||||
    private String phone;
 | 
			
		||||
    private String age;
 | 
			
		||||
    private String address;
 | 
			
		||||
public Ajax3()
 | 
			
		||||
{
 | 
			
		||||
    logger.log(Level.INFO, "Ajax3 constructor called" );
 | 
			
		||||
}
 | 
			
		||||
    public String getFirstName()
 | 
			
		||||
    {
 | 
			
		||||
  
 | 
			
		||||
        return firstName;
 | 
			
		||||
    }
 | 
			
		||||
    public void setFirstName(String firstName)
 | 
			
		||||
    {
 | 
			
		||||
        this.firstName = firstName;
 | 
			
		||||
    }
 | 
			
		||||
    public String getLastName()
 | 
			
		||||
    {
 | 
			
		||||
        return lastName;
 | 
			
		||||
    }
 | 
			
		||||
    public void setLastName(String lastName)
 | 
			
		||||
    {
 | 
			
		||||
        this.lastName = lastName;
 | 
			
		||||
    }
 | 
			
		||||
    public String getPhone()
 | 
			
		||||
    {
 | 
			
		||||
        return phone;
 | 
			
		||||
    }
 | 
			
		||||
    public void setPhone(String phone)
 | 
			
		||||
    {
 | 
			
		||||
        this.phone = phone;
 | 
			
		||||
    }
 | 
			
		||||
    public String getAge()
 | 
			
		||||
    {
 | 
			
		||||
        return age;
 | 
			
		||||
    }
 | 
			
		||||
    public void setAge(String age)
 | 
			
		||||
    {
 | 
			
		||||
        this.age = age;
 | 
			
		||||
    }
 | 
			
		||||
    public String getAddress()
 | 
			
		||||
    {
 | 
			
		||||
        return address;
 | 
			
		||||
    }
 | 
			
		||||
    public void setAddress(String address)
 | 
			
		||||
    {
 | 
			
		||||
        this.address = address;
 | 
			
		||||
    }
 | 
			
		||||
    public void ajaxAction(String executeNrender)
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println(executeNrender);
 | 
			
		||||
        logger.log(Level.INFO, "First Name = {0}", this.firstName);
 | 
			
		||||
        logger.log(Level.INFO, "Last Name = {0}", this.lastName);
 | 
			
		||||
        logger.log(Level.INFO, "Phone = {0}", this.phone);
 | 
			
		||||
        logger.log(Level.INFO, "Age = {0}", this.age);
 | 
			
		||||
        logger.log(Level.INFO, "Address = {0}", this.address);
 | 
			
		||||
        System.out.println("--------------------------------------");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,73 @@
 | 
			
		||||
 | 
			
		||||
package beans;
 | 
			
		||||
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import jakarta.enterprise.context.SessionScoped;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.event.AbortProcessingException;
 | 
			
		||||
import jakarta.faces.event.AjaxBehaviorEvent;
 | 
			
		||||
import utilities.Utilities;
 | 
			
		||||
 | 
			
		||||
@Named(value = "ajax5")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class Ajax5 implements Serializable
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    private boolean buttonRed = false;
 | 
			
		||||
    private String input;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    public void mouseOverListener(AjaxBehaviorEvent event) 
 | 
			
		||||
            throws AbortProcessingException
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println("mouseOverListener");
 | 
			
		||||
        setButtonRed(true);
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO,  "mouseOverListener", "red = true, input=" + input);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void mouseOutListener(AjaxBehaviorEvent event) 
 | 
			
		||||
            throws AbortProcessingException
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println("mouseOutListener");
 | 
			
		||||
        setButtonRed(false);
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO,  "mouseOutListener", "red = false, input=" + input);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getInput()
 | 
			
		||||
    {
 | 
			
		||||
        return input;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setInput(String input)
 | 
			
		||||
    {
 | 
			
		||||
        this.input = input;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public boolean isButtonRed()
 | 
			
		||||
    {
 | 
			
		||||
        return buttonRed;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setButtonRed(boolean buttonRed)
 | 
			
		||||
    {
 | 
			
		||||
        this.buttonRed = buttonRed;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public void actionMethod()
 | 
			
		||||
    {
 | 
			
		||||
         Utilities.addMessage(FacesMessage.SEVERITY_INFO, "actionMethod()",  "input=" + input);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,44 @@
 | 
			
		||||
package beans;
 | 
			
		||||
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import jakarta.enterprise.context.SessionScoped;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.event.AbortProcessingException;
 | 
			
		||||
import jakarta.faces.event.AjaxBehaviorEvent;
 | 
			
		||||
import utilities.Utilities;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author ASDV2
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "ajax6")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class Ajax6 implements Serializable
 | 
			
		||||
{
 | 
			
		||||
    private int brand = 0;
 | 
			
		||||
 | 
			
		||||
    public int getBrand()
 | 
			
		||||
    {
 | 
			
		||||
        return brand;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setBrand(int brand)
 | 
			
		||||
    {
 | 
			
		||||
        this.brand = brand;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public void clickListener(AjaxBehaviorEvent event)
 | 
			
		||||
            throws AbortProcessingException
 | 
			
		||||
    {
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO, "clickListener", "brand= "+ brand);
 | 
			
		||||
    }
 | 
			
		||||
    public void changeListener(AjaxBehaviorEvent event)
 | 
			
		||||
            throws AbortProcessingException
 | 
			
		||||
    {
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO, "changeListener", "brand= "+ brand);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,60 @@
 | 
			
		||||
package beans;
 | 
			
		||||
 | 
			
		||||
import jakarta.enterprise.context.RequestScoped;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import utilities.Utilities;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@Named(value = "ajax7")
 | 
			
		||||
@RequestScoped
 | 
			
		||||
public class Ajax7
 | 
			
		||||
{
 | 
			
		||||
private String farheneitTemperature;
 | 
			
		||||
private String celciusTemperature;
 | 
			
		||||
private String miles;
 | 
			
		||||
 | 
			
		||||
    public String getMiles()
 | 
			
		||||
    {
 | 
			
		||||
        return miles;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setMiles(String miles)
 | 
			
		||||
    {
 | 
			
		||||
        this.miles = miles;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public String milesToKilometers()
 | 
			
		||||
    {
 | 
			
		||||
        if  ( this.miles == null || "".equals(miles) )
 | 
			
		||||
            return null;
 | 
			
		||||
        double miles = Double.parseDouble( this.miles );
 | 
			
		||||
        double km = miles * 1.65;
 | 
			
		||||
        return String.valueOf(km);      
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public String getFarheneitTemperature(){return farheneitTemperature;}
 | 
			
		||||
 | 
			
		||||
    public void setFarheneitTemperature(String farheneitTemperature)
 | 
			
		||||
    {
 | 
			
		||||
        this.farheneitTemperature = farheneitTemperature;
 | 
			
		||||
        this.celciusTemperature = convertFtoC();
 | 
			
		||||
        Utilities.addMessage(FacesMessage.SEVERITY_INFO, farheneitTemperature, celciusTemperature);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    public String getCelciusTemperature(){
 | 
			
		||||
        return celciusTemperature;}  
 | 
			
		||||
    private String convertFtoC()
 | 
			
		||||
    {
 | 
			
		||||
        if ( "".equals(this.farheneitTemperature ) ||farheneitTemperature == null )
 | 
			
		||||
            return "";
 | 
			
		||||
        double f = Double.parseDouble( this.farheneitTemperature );
 | 
			
		||||
        double c = (f - 32) * ( 5.0 / 9.0);
 | 
			
		||||
        celciusTemperature = String.valueOf(c);
 | 
			
		||||
        return celciusTemperature;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,47 @@
 | 
			
		||||
package utilities;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import java.text.SimpleDateFormat;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author asdv5
 | 
			
		||||
 */
 | 
			
		||||
public class Utilities
 | 
			
		||||
{
 | 
			
		||||
    public static String simpleDateFormat( Date date)
 | 
			
		||||
    {
 | 
			
		||||
    if ( date == null )
 | 
			
		||||
        return null;
 | 
			
		||||
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd  hh:mm");
 | 
			
		||||
     String s = sdf.format( date);   
 | 
			
		||||
     return s;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void addMessage(FacesMessage.Severity severity, String summary, String detail)
 | 
			
		||||
    {
 | 
			
		||||
        FacesMessage msg = new FacesMessage(severity, summary, detail);
 | 
			
		||||
        FacesContext.getCurrentInstance().addMessage(null, msg);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void clearAllMessages()
 | 
			
		||||
    {
 | 
			
		||||
        FacesContext context = FacesContext.getCurrentInstance();
 | 
			
		||||
        Iterator<FacesMessage> it = context.getMessages();
 | 
			
		||||
        while (it.hasNext())
 | 
			
		||||
        {
 | 
			
		||||
            it.next();
 | 
			
		||||
            it.remove();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -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,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"?>
 | 
			
		||||
<!--
 | 
			
		||||
    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
 | 
			
		||||
-->
 | 
			
		||||
<!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">
 | 
			
		||||
<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,56 @@
 | 
			
		||||
<?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>
 | 
			
		||||
    
 | 
			
		||||
    <mime-mapping>
 | 
			
		||||
    <extension>eot</extension>
 | 
			
		||||
    <mime-type>application/vnd.ms-fontobject</mime-type>
 | 
			
		||||
</mime-mapping>
 | 
			
		||||
 | 
			
		||||
<mime-mapping>  
 | 
			
		||||
    <extension>otf</extension>  
 | 
			
		||||
    <mime-type>font/opentype</mime-type>  
 | 
			
		||||
</mime-mapping>  
 | 
			
		||||
    
 | 
			
		||||
<mime-mapping>  
 | 
			
		||||
    <extension>ttf</extension>  
 | 
			
		||||
    <mime-type>application/x-font-ttf</mime-type>  
 | 
			
		||||
</mime-mapping> 
 | 
			
		||||
     
 | 
			
		||||
<mime-mapping>  
 | 
			
		||||
    <extension>woff</extension>  
 | 
			
		||||
    <mime-type>application/x-font-woff</mime-type>  
 | 
			
		||||
</mime-mapping>
 | 
			
		||||
 | 
			
		||||
<mime-mapping>  
 | 
			
		||||
    <extension>woff2</extension>  
 | 
			
		||||
    <mime-type>application/x-font-woff2</mime-type>  
 | 
			
		||||
</mime-mapping>
 | 
			
		||||
<mime-mapping>  
 | 
			
		||||
    <extension>svg</extension>  
 | 
			
		||||
    <mime-type>image/svg+xml</mime-type>  
 | 
			
		||||
</mime-mapping>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</web-app>
 | 
			
		||||
@@ -0,0 +1,37 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:f="jakarta.faces.core"
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>ajax1</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h3> Ajax tag  embedded</h3>
 | 
			
		||||
        <h4> On event keyup we execute/process this and we render one ID</h4>
 | 
			
		||||
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:panelGrid columns="2" style="width: 50%">
 | 
			
		||||
                <h:inputText id="inputName1" 
 | 
			
		||||
                             value="#{ajax1.input1}">
 | 
			
		||||
                    <f:ajax event="keyup" execute="@this" 
 | 
			
		||||
                            render="id_out1"
 | 
			
		||||
                            />
 | 
			
		||||
                </h:inputText>
 | 
			
		||||
                <h:outputText id="id_out1" value="#{ajax1.input1}" />
 | 
			
		||||
 | 
			
		||||
                <p:inputText id="inputName2" 
 | 
			
		||||
                             value="#{ajax1.input2}">
 | 
			
		||||
                    <p:ajax event="keyup" process="@this" 
 | 
			
		||||
                            update="id_out2"
 | 
			
		||||
                            />
 | 
			
		||||
                </p:inputText>        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <p:outputLabel id="id_out2" value="#{ajax1.input2}" />
 | 
			
		||||
            </p:panelGrid>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -0,0 +1,95 @@
 | 
			
		||||
<?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"
 | 
			
		||||
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>ajax2</title>
 | 
			
		||||
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h3> Ajax tag  embedded -- Temperature Converter</h3>
 | 
			
		||||
        <h4> event keyup reg-ex validation and multi-render with nested IDs. No need to specify IDs of parents</h4>
 | 
			
		||||
        1. The Ajax2 constructor is called once, even though we have 2 h:forms, upon rendering. ( see Glassfish Log and line 20 of Ajax2.java)
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
        2. Upon entering numbers in h:form id="idForm1" at LINE 34, we execute the inputText and we render all
 | 
			
		||||
        ids that exits within h:form id="idForm1". We cannot render IDs outside this form. 
 | 
			
		||||
        We CANNOT render outPutText id_nested_cField2
 | 
			
		||||
      <br/><br/>
 | 
			
		||||
        
 | 
			
		||||
         3. Upon entering numbers in h:form id="idForm2" at LINE 51, we execute the inputText and we render all
 | 
			
		||||
        ids that exists within h:form id="idForm2".  
 | 
			
		||||
        We CAN render outputText id_nested_cField2 becuase it is in within the form  idForm2.
 | 
			
		||||
          <br/><br/>
 | 
			
		||||
        4. Upon every number typed  in inputText id="id_in1" of form id="idForm1"
 | 
			
		||||
           the constructor of the bean is called , then its setter. The output to celcius and the grown are called when we render.
 | 
			
		||||
          <br/><br/>
 | 
			
		||||
         5. The nested ID= id_nested_cField2  can be accessed only from with form
 | 
			
		||||
         id="idForm2"
 | 
			
		||||
          <br/><br/>
 | 
			
		||||
         6. The command button of id=id_cm2 only updates the upper form with  id="idForm1", because it has ajax=true
 | 
			
		||||
          while the command button id=id_cm2 updates both upper and lpwer form forms 
 | 
			
		||||
        <h:form  id="idForm1" >
 | 
			
		||||
            <p:growl  id="id_growl1" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="4000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
            <h:inputText id="id_in1" value="#{ajax2.farheneitTemperature}">
 | 
			
		||||
                <f:ajax event="keyup" execute="@this"
 | 
			
		||||
                        render="cField1 
 | 
			
		||||
                                 id_nested_cField2 
 | 
			
		||||
                                 id_growl1"  />
 | 
			
		||||
                <f:validateRegex pattern = "[-+]?[0-9]*\.?[0-9]"/>
 | 
			
		||||
 | 
			
		||||
            </h:inputText><br/>
 | 
			
		||||
            <h:outputText value="Temperature in Celsius:  #{ajax2.celciusTemperature}"
 | 
			
		||||
                          id="cField3"/>
 | 
			
		||||
            <br/>
 | 
			
		||||
            <p:commandButton id="id_cm1" ajax="true" value="send only this form because ajax=true" update="id_growl1"/>
 | 
			
		||||
        </h:form>
 | 
			
		||||
        <h:form  id="idForm2" >
 | 
			
		||||
 | 
			
		||||
            <p:growl  id="id_growl2" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="4000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            <p:panelGrid id="pg1" style="width: 100%" >
 | 
			
		||||
                <p:column style="width: 100%">
 | 
			
		||||
                    <p:panelGrid id="pg2">
 | 
			
		||||
                        <p:column><h2> nested Ids</h2> </p:column> 
 | 
			
		||||
                        <p:column>
 | 
			
		||||
                            <h2>
 | 
			
		||||
 | 
			
		||||
                                <h:outputText value="#{ajax2.celciusTemperature}"
 | 
			
		||||
                                              id="id_nested_cField2"/>
 | 
			
		||||
                            </h2>
 | 
			
		||||
                        </p:column>
 | 
			
		||||
                    </p:panelGrid>
 | 
			
		||||
                </p:column>
 | 
			
		||||
            </p:panelGrid>
 | 
			
		||||
            <br/>
 | 
			
		||||
            <h:inputText value="#{ajax2.farheneitTemperature}">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <f:ajax event="keyup" execute="@this"
 | 
			
		||||
                        render="cField1 
 | 
			
		||||
                                id_nested_cField2 
 | 
			
		||||
                                d_growl2"  />
 | 
			
		||||
                <f:validateRegex pattern = "[-+]?[0-9]*\.?[0-9]"/>
 | 
			
		||||
 | 
			
		||||
            </h:inputText><br/>
 | 
			
		||||
            <h2>
 | 
			
		||||
                Temperature in Celsius:
 | 
			
		||||
                <h:outputText value="#{ajax2.celciusTemperature}"
 | 
			
		||||
                              id="cField1"/>
 | 
			
		||||
 | 
			
		||||
            </h2>
 | 
			
		||||
            <p:commandButton id="id_cm2" ajax="false" value="send all forms becuase ajax=false" update="id_growl"/>
 | 
			
		||||
 | 
			
		||||
        </h:form>
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										126
									
								
								Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,126 @@
 | 
			
		||||
<?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>
 | 
			
		||||
        <title>ajax3</title>
 | 
			
		||||
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body> 
 | 
			
		||||
        1. constructor of ajax3 bean called once upon rending
 | 
			
		||||
        <br/> <br/>
 | 
			
		||||
        2. Test all cases one by one and see the outputs
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX -  execute=form a render=@form
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <h:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <h:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <h:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <h:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <h:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <h:commandButton value="Say Hello" action='#{ajax3.ajaxAction("execute=form a render=@form")}'>
 | 
			
		||||
                <f:ajax execute="@form" render="@form"/>
 | 
			
		||||
            </h:commandButton>
 | 
			
		||||
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputText style="font-weight: bold;" value="@form"/>
 | 
			
		||||
                <h:outputText style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputText style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputText style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputText style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputText style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form> 
 | 
			
		||||
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - execute=@none ,   render=@form 
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name: <h:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name: <h:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <h:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <h:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <h:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <h:commandButton value="Say Hello" action="#{ajax3.ajaxAction('execute=@none render=@form')}">
 | 
			
		||||
                <f:ajax execute="@none" render="@form"/>
 | 
			
		||||
            </h:commandButton>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputText style="font-weight: bold;" value="@form"/>
 | 
			
		||||
                <h:outputText style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputText style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputText style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputText style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputText style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>  
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - execute=@this render=@form
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <h:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <h:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <h:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <h:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <h:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <h:commandButton value="Say Hello" action='#{ajax3.ajaxAction("execute=@this render=@form")}'>
 | 
			
		||||
                <f:ajax execute="@this" render="@form"/>
 | 
			
		||||
            </h:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputText style="font-weight: bold;" value="@this"/>
 | 
			
		||||
                <h:outputText value="Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputText value="Surname: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputText value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputText value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputText value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - identifiers
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <h:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <h:inputText id="nameInputId" value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <h:inputText id="phoneInputId" value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <h:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <h:inputText id="addressInputId" value="#{ajax3.address}"/>
 | 
			
		||||
            <h:commandButton value="Say Hello" action="#{ajax3.ajaxAction('identifiers')}">
 | 
			
		||||
                <f:ajax execute="nameInputId phoneInputId addressInputId" render="nameOutputId phoneOutputId ageOutputId"/>
 | 
			
		||||
            </h:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputText style="font-weight: bold;" value="identifiers"/>
 | 
			
		||||
                <h:outputText  style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputText id="nameOutputId" style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputText id="phoneOutputId" style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputText id="ageOutputId" style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputText style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - execute=@all  render=@all
 | 
			
		||||
        <hr/>
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <h:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <h:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <h:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <h:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <h:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <h:commandButton value="Say Hello" action="#{ajax3.ajaxAction('execute=@all  render=@all')}">
 | 
			
		||||
                <f:ajax execute="@all" render="@all"/>
 | 
			
		||||
            </h:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputText style="font-weight: bold;" value="@all"/>
 | 
			
		||||
                <h:outputText style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputText style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputText style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputText style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputText style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>  
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										123
									
								
								Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui">
 | 
			
		||||
<h:head>
 | 
			
		||||
        <title>ajax4</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>        
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX -  process=form a update=@form
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <p:inputText style="width: 80px;" value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <p:inputText style="width: 80px;" value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <p:inputText style="width: 80px;" value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <p:inputText style="width: 80px;" value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <p:inputText style="width: 80px;" value="#{ajax3.address}"/>
 | 
			
		||||
            <p:commandButton value="Say Hello" action='#{ajax3.ajaxAction("process=form a update=@form")}'>
 | 
			
		||||
                <p:ajax process="@form" update="@form"/>
 | 
			
		||||
            </p:commandButton>
 | 
			
		||||
 | 
			
		||||
            <p:panelGrid columns="6">
 | 
			
		||||
                <p:outputLabel style="font-weight: bold;" value="@form"/>
 | 
			
		||||
                <p:outputLabel style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <p:outputLabel style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <p:outputLabel style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <p:outputLabel style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <p:outputLabel style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </p:panelGrid>
 | 
			
		||||
        </h:form> 
 | 
			
		||||
        
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - process=@none ,   update=@form 
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name: <p:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name: <p:inputText  value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <p:inputText  value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <p:inputText  value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <p:inputText  value="#{ajax3.address}"/>
 | 
			
		||||
            <p:commandButton value="Say Hello" action="#{ajax3.ajaxAction('process=@none update=@form')}">
 | 
			
		||||
                <p:ajax process="@none" update="@form"/>
 | 
			
		||||
            </p:commandButton>
 | 
			
		||||
            <p:panelGrid columns="6">
 | 
			
		||||
                <h:outputLabel style="font-weight: bold;" value="@form"/>
 | 
			
		||||
                <h:outputLabel style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputLabel style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputLabel style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputLabel style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputLabel style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </p:panelGrid>
 | 
			
		||||
        </h:form>  
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - process=@this update=@form
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <p:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <p:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <p:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <p:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <p:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <p:commandButton value="Say Hello" action='#{ajax3.ajaxAction("process=@this update=@form")}'>
 | 
			
		||||
                <p:ajax process="@this" update="@form"/>
 | 
			
		||||
            </p:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputLabel style="font-weight: bold;" value="@this"/>
 | 
			
		||||
                <h:outputLabel value="Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputLabel value="Surname: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputLabel value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputLabel value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputLabel value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - identifiers
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <p:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <p:inputText id="nameInputId" value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <p:inputText id="phoneInputId" value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <p:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <p:inputText id="addressInputId" value="#{ajax3.address}"/>
 | 
			
		||||
            <p:commandButton value="Say Hello" action="#{ajax3.ajaxAction('identifiers')}">
 | 
			
		||||
                <p:ajax process="nameInputId phoneInputId addressInputId" update="nameOutputId phoneOutputId ageOutputId"/>
 | 
			
		||||
            </p:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputLabel style="font-weight: bold;" value="identifiers"/>
 | 
			
		||||
                <h:outputLabel  style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputLabel id="nameOutputId" style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputLabel id="phoneOutputId" style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputLabel id="ageOutputId" style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputLabel style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>
 | 
			
		||||
        <br/>
 | 
			
		||||
        <hr/>
 | 
			
		||||
        AJAX - process=@all  update=@all
 | 
			
		||||
        <hr/>
 | 
			
		||||
        <h:form>
 | 
			
		||||
            First Name <p:inputText value="#{ajax3.firstName}"/>
 | 
			
		||||
            Last Name <p:inputText value="#{ajax3.lastName}"/>
 | 
			
		||||
            Phone: <p:inputText value="#{ajax3.phone}"/>
 | 
			
		||||
            Age: <p:inputText value="#{ajax3.age}"/>
 | 
			
		||||
            Address: <p:inputText value="#{ajax3.address}"/>
 | 
			
		||||
            <p:commandButton value="Say Hello" action="#{ajax3.ajaxAction('process=@all  update=@all')}">
 | 
			
		||||
                <p:ajax process="@all" update="@all"/>
 | 
			
		||||
            </p:commandButton>
 | 
			
		||||
            <hr/>
 | 
			
		||||
            <h:panelGrid columns="6">
 | 
			
		||||
                <h:outputLabel style="font-weight: bold;" value="@all"/>
 | 
			
		||||
                <h:outputLabel style="color:red;" value="First Name: #{ajax3.firstName}"/>
 | 
			
		||||
                <h:outputLabel style="color:blue;" value="Last Name: #{ajax3.lastName}"/>
 | 
			
		||||
                <h:outputLabel style="color:green;" value="Phone: #{ajax3.phone}"/>
 | 
			
		||||
                <h:outputLabel style="color:brown;" value="Age: #{ajax3.age}"/>
 | 
			
		||||
                <h:outputLabel style="color: blueviolet" value="Address: #{ajax3.address}"/>
 | 
			
		||||
            </h:panelGrid>
 | 
			
		||||
        </h:form>  
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -0,0 +1,36 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>ajax5</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body >
 | 
			
		||||
        1.When an Ajax event triggers in the button, then it calls its listener AND the  action method 
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
       2. In Order to send the form you must use f:ajax execute="@form" render="@form", line 25  
 | 
			
		||||
        <br/><br/>   
 | 
			
		||||
        
 | 
			
		||||
   <h:form>
 | 
			
		||||
            <p:growl  id="id_growl" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="2000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
            <h:inputText value="#{ajax5.input}"/>
 | 
			
		||||
                         <br/>
 | 
			
		||||
            <h:commandButton value="Send form" 
 | 
			
		||||
                             style="#{ajax5.buttonRed?'background-color:red':'background-color:yellow'}"
 | 
			
		||||
                             action="#{ajax5.actionMethod()}">                                                                      
 | 
			
		||||
                <f:ajax execute="@form" render="@form" />  
 | 
			
		||||
                <f:ajax event="mouseover" execute="@this" render="@this id_growl"                             
 | 
			
		||||
                        listener="#{ajax5.mouseOverListener}" />                                                  
 | 
			
		||||
                <f:ajax event="mouseout" execute="@this" render="@this id_growl"                              
 | 
			
		||||
                        listener="#{ajax5.mouseOutListener}" />                                                   
 | 
			
		||||
            </h:commandButton>     
 | 
			
		||||
 | 
			
		||||
        </h:form >
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,42 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>ajax6</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h3> Valid event names you may use : blur, change, click, dblclick, focus, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, mouseup, valueChange.</h3>
 | 
			
		||||
        <br/> 
 | 
			
		||||
        1. When it makes sense you can add   events as needed and listeners for them.
 | 
			
		||||
        <br/> <br/>
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:growl  id="id_growl1" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="2000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
            <p:growl  id="id_growl2" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="6000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
            <h:selectOneMenu value="#{ajax6.brand}" id="brandID" >                                                      
 | 
			
		||||
            <f:ajax event="change" execute="@this" render=" id_growl2"                              
 | 
			
		||||
                        listener="#{ajax6.changeListener}" />    
 | 
			
		||||
                                                                                        
 | 
			
		||||
             <f:ajax event="click" execute="@this" render=" id_growl1"                              
 | 
			
		||||
                        listener="#{ajax6.clickListener}" />  
 | 
			
		||||
 | 
			
		||||
                <f:selectItem itemLabel="Ford" itemValue="1" />
 | 
			
		||||
                <f:selectItem itemLabel="Chevy" itemValue="2" />                
 | 
			
		||||
                <f:selectItem itemLabel="Fiat" itemValue="3" />                                                           
 | 
			
		||||
                <f:selectItem itemLabel="Honda" itemValue="4" />                                                          
 | 
			
		||||
                <f:selectItem itemLabel="Opel" itemValue="5" />  
 | 
			
		||||
                <f:selectItem itemLabel="VW" itemValue="6" />  
 | 
			
		||||
 | 
			
		||||
            </h:selectOneMenu> 
 | 
			
		||||
            
 | 
			
		||||
        </h:form >
 | 
			
		||||
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,53 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:p="http://primefaces.org/ui"
 | 
			
		||||
      xmlns:f5="http://xmlns.jcp.org/jsf/passthrough">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>ajax7</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h2>1. Ajax tag as Wrapper, the keyup applies to all wrapped in it </h2>
 | 
			
		||||
        <h2>2. Both inputs are  validated and executed </h2>
 | 
			
		||||
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:growl  id="id_growl" showDetail="true"  showSummary="true" 
 | 
			
		||||
                      life="2000"
 | 
			
		||||
                      redisplay="false"/>
 | 
			
		||||
            <f:ajax event="keyup" execute="tempID milesID"
 | 
			
		||||
                    render="cField kField id_growl" >
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <h:inputText id="tempID" 
 | 
			
		||||
                             f5:placeholder="Temperature in Fahrenheit"
 | 
			
		||||
                             value="#{ajax7.farheneitTemperature}">
 | 
			
		||||
                    <f:validateRegex pattern = "[0-9]*"/>
 | 
			
		||||
                </h:inputText>
 | 
			
		||||
                <br/><br/>
 | 
			
		||||
 | 
			
		||||
                <h:inputText id="milesID" 
 | 
			
		||||
                             f5:placeholder="Miles"
 | 
			
		||||
                             value="#{ajax7.miles}">
 | 
			
		||||
                    <f:validateRegex pattern = "[0-9]*"/>
 | 
			
		||||
                </h:inputText>
 | 
			
		||||
            </f:ajax>
 | 
			
		||||
 | 
			
		||||
            <h2>
 | 
			
		||||
                Temperature in Celsius:
 | 
			
		||||
                <h:outputText value="#{ajax7.celciusTemperature}"
 | 
			
		||||
                              id="cField"/>
 | 
			
		||||
            </h2>
 | 
			
		||||
 | 
			
		||||
            <h2>
 | 
			
		||||
                Kilometers:
 | 
			
		||||
                <h:outputText value="#{ajax7.milesToKilometers()}"
 | 
			
		||||
                              id="kField"/>
 | 
			
		||||
            </h2>
 | 
			
		||||
 | 
			
		||||
            <h:commandButton value="Send to Server 2 inputs">  </h:commandButton>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
<?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:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Ajax in button</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
 | 
			
		||||
        <h:form>
 | 
			
		||||
 | 
			
		||||
            <h:commandLink value="1. Ajax tag on event keyup one render" action="ajax1"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="2. Ajax tag on event keyup validation and multi-rendrer" action="ajax2"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="3. Ajax tag on command button -- all cases" action="ajax3"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="4. Ajax Primefaces tag on command button -- all cases" action="ajax4"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="5. Ajax tag one with multi-events multi-listeners" action="ajax5"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="6. Ajax tag select one menu" action="ajax6"/>
 | 
			
		||||
            <br/><br/>
 | 
			
		||||
            <h:commandLink value="7. Wrapper-Ajax tag on keyup" action="ajax7"/>
 | 
			
		||||
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user