Commit b0dc1df3 by Patryk Czarnik

Przykład JSP z beanem

parent 9ae1d6a1
package beans;
import java.util.Random;
public class PrzykladowyBean {
private String napis = "Ala ma kota";
private Random random = new Random();
public String getNapis() {
return napis;
}
public String getNapisDuzymiLiterami() {
return napis.toUpperCase();
}
public void setNapis(String napis) {
this.napis = napis;
}
public int wylosuj() {
return random.nextInt(1000);
}
}
......@@ -11,8 +11,13 @@
<li><a href="godzina">która godzina</a></li>
<li><a href="rozmowa">rozmowa</a> - przykład formularza</li>
<li><a href="kalkulator">kalkulator</a></li>
<li><a href="przyklad.jsp">przykład JSP</a></li>
<li><a href="przyklad.jsp">przykład JSP</a> część 1</li>
<li><a href="przyklad2.jsp">przykład JSP</a> część 2</li>
</ul>
<p><a href="https://gitlab.alx.pl/pczarnik/javab_20230928">repozytorium GIT</a></p>
</body>
</html>
<%@page import="java.time.LocalTime"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Przykład JSP 2</title>
</head>
<body>
<h1>Przykładowe JSP 2</h1>
<p>Mądrzejszy sposób korzystania z JSP łączy takie trzy techniki:</p>
<ol>
<li><strong>Expression Language (EL)</strong> - wyrażenia wpisywane w znacznikach <code>$ { }</code>,
<li><strong>beans</strong> - obiekty przygotowane po stronie aplikacji lub w samym skrypcie JSP, do których JSP ma dostęp,
<li><strong>taglibs</strong> - biblioteki dodatkowych tagów, które działają jak polecenia, chociaż są pisane jak tagi HTML.
</ol>
<h3>EL</h3>
<%-- proste wyrażenie EL --%>
<p>Wynik obliczenia: ${2 + 3 * 4}</p>
<h3>Bean</h3>
<jsp:useBean id="obiekt" class="beans.PrzykladowyBean"/>
<p>Obiekt beanowy: ${obiekt}</p>
<p>Odczyt napisu: ${obiekt.napis}</p>
<p>Duże litery: ${obiekt.napisDuzymiLiterami}</p>
<%-- Można wywoływać metody o nazwach niezgodnych z konwencją getterów: --%>
<p>Wywołanie metody: ${obiekt.wylosuj()}</p>
<jsp:setProperty property="napis" name="obiekt" value="Ola ma psa"/>
<p>Napis po zmianie: ${obiekt.napis}</p>
<p>Duże litery: ${obiekt.napisDuzymiLiterami}</p>
<%-- Gdy wpisujemy odwołanie do obiektu, to jest on printowany za pomocą toString().
Gdy wpiszemy coś, co wygląda na odczyt pola obiektu, to jest wywoływany getter zwracający to property,
np. osoba.wiek powoduje wywołanie getWiek()
Gdy wpiszemy coś z nawiasami na końcu, to jest to wywołanie metody.
Polecenie setProperty skutkuje wywołaniem settera, np. setNapis(...)
--%>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment