1 Model – View - ControlerSTRUTS
2 Co to jest MVC ? MVC to model rozdzielający aplikację na trzy odzielne warstwy. Logiki Prezencji Kontroli/Sterowania
3 Co nam daje MVC? Odzielenie logiki systemu od warstwy prezencjiZmniejsza powtarzanie się kodu Centralizuje kontrole Pozwala na łatwiejsze wprowadzanie zmian
4 Na czym polega MVC (Model1) ?
5 Na czym polega MVC (Model2) ?
6 Struts Warstwa Model Warstwa View Warstwa Controller
7 Struts Warstwa Model
8 Struts – warstwa Model Logika systemu Java Beans Enterprise Java Beanspublic class Book { private String title = ""; private int pages = 0; public void setTitle(String title) { this.title = title; }
9 Struts – warstwa Model Cd.public String getTitle() { return this.title; } public void setPages(int pages) { this.pages = pages; } public int getPages() { return this.pages; } }
10 Struts – warstwa Model Obiekt ActionFormJest tworzona na każdy formularz w aplikacji Jest odpowiedzialna za: Sprawdzenie czy odpowiedni JavaBean jest stworzony, jeśli nie tworzy nową instancję Sprawdzenie wprowadzonych danych (validate) Controller aplikacji, przekazuje obiekt do funckji perform() klasy Action
11 Struts Warstwa View
12 Struts – warstwa View InternacjionalizacjaApplicationResources.properties main.title=Hello ApplicationResources_pl.properties main.title=Witam Struts-config.xml :
13 Struts – warstwa View Custom Tagstaglib uri="/WEB-INF/struts- bean.tld" prefix=" bean" %> taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
Pages:
14 Struts Warstwa Controller
15 Struts – warstwa ControllerObsłużenie akcji wymaga Napisanie klasy rozszeżającej klase Action Klasa Action zawiera fukncje perform(), którą należy nadpisać Skonfigurowanie akcji w pliku konfiguracyjnym Struts`a struts-config.xml Dodanie odpowiednich dodatkowych komponentów wymaganych podczas akcji
16 Struts – warstwa ControllerElementy mapowania akcji Path – adres żądania, które wyzwala akcje Type – nazwa klasy Action obsługującej tą akcje Name – JavaBean wykorzystany przy akcji Scope – Zasięg zmiennych Input – w razie błędu, na ten adres ma być przekierowana akcja
17 Struts – warstwa ControllerPrzykład pliku struts-config.xml
18 Struts – warstwa ControllerCd.
19 Struts – warstwa ControllerPrzykład klasy Action public final class BookAction extends Action{ public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) { String title = (String)req.getParameter("title"); int pages = Integer.parseInt((String)req.getParameter("pages")); Book book = new Book();
20 Struts – warstwa ControllerCd. book.setTitle(title); book.setPages(pages); req.setAttribute("BOOK",book); return mapping.findForward("bookCreated"); }
21 Wykorzystane materiały Introduction to struts. Roger W Barnes of Project Refinery, Inc.