výsledná stránka, ktorá zobrazí výstupi (vysledok.xhtml):
<?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:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<f:view>
Vysledok po deleni
<h:outputText id="delenec" value="${delic.delenec}"/>
/
<h:outputText id="delitel" value="${delic.delitel}"/>
je delitelne:
<h:outputText id="vysledok" value="${delic.vysledok}"/>
<br/>
<h:outputText id="chyba" value="${delic.err}"/>
<br/>
<h:form>
<h:commandLink action="index">Znovu</h:commandLink>
</h:form>
</f:view>
</html>
Stránky sa odkazujú na CDI session bean, ktorý prevezme vstupy z formulára, zavolá službu
a vráti výstup:
package ee.deleniewebapp;
import jakarta.enterprise.context.SessionScoped;
import jakarta.inject.Named;
import jakarta.ws.rs.client.Client;
import jakarta.ws.rs.client.ClientBuilder;
import jakarta.ws.rs.client.ClientRequestContext;
import jakarta.ws.rs.client.ClientRequestFilter;
import java.io.IOException;
import java.io.Serializable;
@Named
@SessionScoped
public class Delic implements Serializable, ClientRequestFilter {
public Delic() { }
@Override
public void filter(ClientRequestContext ctx) throws IOException
{
System.out.println("logujem pristup: " + ctx.getUri());
}
private int delenec, delitel;
private boolean vysledok;
private String err;
public int getDelenec() {
return delenec;
}
public void setDelenec(int delenec) {
this.delenec = delenec;
}
public int getDelitel() {
return delitel;
}
public void setDelitel(int delitel) {
this.delitel = delitel;
}
public boolean isVysledok() {
Client client = ClientBuilder.newClient();
client.register(Delic.class);
try {
vysledok = client
.target("http://localhost:8080/DelenieService-1.0-SNAPSHOT/service/delenie")
.path("{delenec}/{delitel}")
.resolveTemplate("delenec", delenec)
.resolveTemplate("delitel", delitel)
.request()
.get(Boolean.class);
} catch (Exception e)
{
err = "chyba: " + e.toString();
}
return vysledok;
}
public void setVysledok(boolean vysledok) {
this.vysledok = vysledok;
}
public void setErr(String err) {
this.err = err;
}
public String getErr() {
return err;
}
}
Download:
- aplikácia s REST service:
DelenieService.zip
- aplikácia, ktorá sa na REST service obracia:
DelenieWebApp.zip