Ajax Smajax
This commit is contained in:
		@@ -0,0 +1,45 @@
 | 
			
		||||
package classes;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import jakarta.enterprise.context.SessionScoped;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "pageNavigator")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class PageNavigator implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a new instance of PageNavigator
 | 
			
		||||
     */
 | 
			
		||||
    public PageNavigator()
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
    private String message;
 | 
			
		||||
 | 
			
		||||
    public String getMessage()
 | 
			
		||||
    {
 | 
			
		||||
        return message;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setMessage(String message)
 | 
			
		||||
    {
 | 
			
		||||
        this.message = message;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String determine()
 | 
			
		||||
    {
 | 
			
		||||
        int rand = (int) (Math.random() * 4) + 1;
 | 
			
		||||
        String returnValue = "";
 | 
			
		||||
        returnValue = "result" + rand + ".xhtml";
 | 
			
		||||
        return returnValue;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,39 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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 classes;
 | 
			
		||||
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.component.UIComponent;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import jakarta.faces.validator.FacesValidator;
 | 
			
		||||
import jakarta.faces.validator.Validator;
 | 
			
		||||
import jakarta.faces.validator.ValidatorException;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
@FacesValidator("textLengthValidator")
 | 
			
		||||
public class TextLengthValidator implements Validator {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *
 | 
			
		||||
     * @param context
 | 
			
		||||
     * @param component
 | 
			
		||||
     * @param value
 | 
			
		||||
     * @throws ValidatorException
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException
 | 
			
		||||
    {
 | 
			
		||||
         String inputText = (String) value;
 | 
			
		||||
         
 | 
			
		||||
         if (inputText.length() < 5) {
 | 
			
		||||
             FacesMessage message = new FacesMessage("Input must be at least 5 characters long!");
 | 
			
		||||
             throw new ValidatorException(message);
 | 
			
		||||
         }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
package edu.slcc.asdv.caleb.finalexamproblem1_calebfontenot;
 | 
			
		||||
 | 
			
		||||
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.caleb.finalexamproblem1_calebfontenot.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,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,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<web-app version="5.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_5_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>index.xhtml</welcome-file>
 | 
			
		||||
    </welcome-file-list>
 | 
			
		||||
</web-app>
 | 
			
		||||
@@ -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="jakarta.faces.html"
 | 
			
		||||
      xmlns:f="jakarta.faces.core">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Facelet Title</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body style="text-align: center;">
 | 
			
		||||
        <h:form>
 | 
			
		||||
        <h1>JSF Navigation via Command Button</h1>
 | 
			
		||||
        <p>
 | 
			
		||||
                    <br/><br/>
 | 
			
		||||
                    Your message: <h:inputText value="#{pageNavigator.message}">
 | 
			
		||||
                        <f:validator validatorId="textLengthValidator"/>
 | 
			
		||||
                    </h:inputText>
 | 
			
		||||
        </p>
 | 
			
		||||
        <h:commandButton value="Navigate to a random page between 1 and 4" action="#{pageNavigator.determine()}"/>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -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 style="text-align: center;">
 | 
			
		||||
        <h1>Result Page 1</h1>
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
        
 | 
			
		||||
        <h3>Your message: #{pageNavigator.message}</h3>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -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 style="text-align: center;">
 | 
			
		||||
        <h1>Result Page 2</h1>
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
        
 | 
			
		||||
        <h3>Your message: #{pageNavigator.message}</h3>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -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 style="text-align: center;">
 | 
			
		||||
        <h1>Result Page 3</h1>
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
        
 | 
			
		||||
        <h3>Your message: #{pageNavigator.message}</h3>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -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 style="text-align: center;">
 | 
			
		||||
        <h1>Result Page 4</h1>
 | 
			
		||||
        <br/><br/>
 | 
			
		||||
        
 | 
			
		||||
        <h3>Your message: #{pageNavigator.message}</h3>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user