Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View...

4
Page 1 Controller Action2 .java Struts- config. xml Mappings Busines s Logic Layer Data Layer View Layer Business Bean 1 Jsp Engine Jsp 1 Action3 .java Action4 .java Action1 .java Business Bean 2 Business Bean 3 Jsp 2 Jsp 3 Form Bean 1 Form Bean 2 Other Bean 1 request/ session Web Browser Db Server path action [form bean] [forwards] Jsp 2 Web Server Jsp 2

Transcript of Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View...

Page 1: Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View Layer Business Bean 1 Jsp Engine Jsp 1 Action3.java Action4.java.

Page 1

Controller

Action2.java

Struts-config.

xml

Mappings

Business Logic Layer

Data Layer

View Layer

BusinessBean 1

Jsp Engine

Jsp 1

Action3.java

Action4.java

Action1.java

BusinessBean 2

BusinessBean 3

Jsp 2 Jsp 3

FormBean

1FormBean

2OtherBean

1

request/session

Web Browser

Db Server

• path• action• [form bean]• [forwards]

Jsp 2

Web Server

Jsp 2

Page 2: Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View Layer Business Bean 1 Jsp Engine Jsp 1 Action3.java Action4.java.

Web Server

creates / reuses

index.htm

Controller

ShowLoggingAction.java

Mappings

Business Logic Layer

Data Layer

View Layer

Jsp Engine

LoggingBean.java

logging.jsp

LoggingForm

request/session

Web Browser

Db Server

Request:ShowLogging.do

creates form bean in correct scope

perform(mapping, form, request, response)

calls business logic ruleto get logging info

returns forward(success)

mainpulates data

setCategoryList(list)

forwards – logging.jsp

expands custom tags

response sent to browser – pure html

looks up

<!-- Show logging --><action path="/ShowLogging" type="beans.ShowLoggingAction" name="LoggingForm"> <forward name="success“ path="/logging.jsp" /></action>

ServerBean.java

populates form values

<form name="LoggingForm" …> <logic:iterate id="category“ name="LoggingForm" property="categoryList"> <bean:write name="category" property="key"/> <bean:write name="category" property="desc"/> …. </logic:iterate></form>

logging.jsp

MessagesResources

displays internationalized messages

Page 3: Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View Layer Business Bean 1 Jsp Engine Jsp 1 Action3.java Action4.java.

Web Server

creates / reuses action instance

logging.jsp

Controller

ShowLoggingAction.java

Mappings

Business Logic Layer

Data Layer

View Layer

Jsp Engine

LoggingBean.java

results.jsp

LoggingForm

request/session

Web Browser

Db Server

form submit – action=‘SaveLogging.do’

reuses form bean in correct scope

calls perform(mapping, form, request, response)

getCategoryList()

returns mapping.findForward("success")

forwards – result.jsp

expands custom tagsDisplays internationalized messages from bean

response sent to browser – pure html

looks up

<!-- Save logging --><action path="/SaveLogging" type="beans.SaveLoggingAction" name="LoggingForm"> <forward name="success“ path="/result.jsp" /></action>

ServerBean.java

MessagesBean

add result messages

auto populates using bean getters/setters

<form name="LoggingForm" …> <select name="category[0].value" ></form> becomes request parametercategory[0].value added to form usingLoggingForm.getCategory(0).setValue(value)

For each one that user has changed…

call business logic to change on server

••

•• •

••browser adds form variables to request

results.jsp

Page 4: Page 1 Controller Action2.java Struts- config. xml Mappings Business Logic Layer Data Layer View Layer Business Bean 1 Jsp Engine Jsp 1 Action3.java Action4.java.

if submit, auto populates form bean from request params

Page 1

Controller

Action2.java

Struts-config.

xml

Mappings

Business Logic Layer

Data Layer

View Layer

BusinessBean 1

Jsp Engine

Jsp 1

Action3.java

Action4.java

Action1.java

BusinessBean 2

BusinessBean 3

Jsp 2 Jsp 3

FormBean

1FormBean

2OtherBean

1

request/session

Web Browser

Business Data

reads on start-up

creates

incoming requests

creates/reuses any associated form bean

• path• action• [form bean]• [forwards]

passes control to relevant action to handle

interacts with lower layers - acts as adaptor between HTTP and layers below

gets data to display (adds to beans in request/session)…or saves data from beans via business rules

looks up path to determine action/form bean

returns appropriate forward

relevant page called

processes custom tags – fill form elements from beans, display internationalized messages

pure HTML sent to browser

Jsp 2

Action2.java

FormBean

2••

• ••• •

Web Server

Jsp 2