Vamos a realizar una calculadora aritmetica con dos parámetros. Para poder realizar este ejercicio debes de tener las siguientes requerimientos:
Abrimos nuestro eclipse y creamos un proyecto maven.File->New->MavenProject
Seleccionamos en Create a simple project y presionamos Next
Una vez generado nuestro proyecto maven nos vamos al archivo pom.xml y pegamos el siguiente código esta para poder compilar con java 1.8.
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>



<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <param-name>primefaces.THEME</param-name> <param-value>cupertino</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.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>
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
</faces-config>
<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>com.tutosoftware.calculadora</groupId>
<artifactId>calculadora</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Calculadora Aritmetica</name>
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.10</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.10</version>
</dependency>
<!-- http://repo1.maven.org/maven -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.primefaces.themes/mint-choc -->
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.tutosoftware.calculadora.bean;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Calculadora implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private double parametro1;
private double parametro2;
private double resultado;
public double getParametro1() {
return parametro1;
}
public void setParametro1(double parametro1) {
this.parametro1 = parametro1;
}
public double getParametro2() {
return parametro2;
}
public void setParametro2(double parametro2) {
this.parametro2 = parametro2;
}
public double getResultado() {
return resultado;
}
public void setResultado(double resultado) {
this.resultado = resultado;
}
public String suma(){
resultado = parametro1+parametro2;
return "";
}
public String resta(){
resultado = parametro1-parametro2;
return "";
}
public String multiplicacion(){
resultado = parametro1*parametro2;
return "";
}
public String division(){
resultado = parametro1/parametro2;
return "";
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Calculadora aritmética</title>
</h:head>
<h:body>
<h:form>
<p:panelGrid class="ui-noborder">
<f:facet name="header">
<p:row>
<p:column style="font-weight: bold;">Introduce los parámetros</p:column>
<p:column style="font-weight: bold;"></p:column>
</p:row>
</f:facet>
<p:row>
<p:column>
<h:outputLabel value="Parametro1: "/>
</p:column>
<p:column>
<p:inputNumber id="parametro1" value="#{calculadora.parametro1}">
<p:ajax update="parametro1" />
</p:inputNumber>
</p:column>
</p:row>
<p:row>
<p:column>
<h:outputLabel value="Parametro2: "/>
</p:column>
<p:column>
<p:inputNumber id="parametro2" value="#{calculadora.parametro2}">
<p:ajax update="parametro2" />
</p:inputNumber>
</p:column>
</p:row>
<p:row>
<p:column>
<h:commandButton value="Suma" action="#{calculadora.suma}"/>
<h:commandButton value="Resta" action="#{calculadora.resta}"/>
<h:commandButton value="Multiplicación" action="#{calculadora.multiplicacion}"/>
<h:commandButton value="División" action="#{calculadora.division}"/>
</p:column>
</p:row>
<p:row>
<p:column>
<h:outputLabel value="Resultado: "/>
<h:outputText value="#{calculadora.resultado}"/>
</p:column>
</p:row>
</p:panelGrid>
</h:form>
</h:body>
</html>




