Download Model- View-Controller MVC Model Customer Airport Flight Seat

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
2
ModelView-Controller
MVC
Model
Customer
Airport
Flight
Seat ...
View
...
Vi e w
JSP
Controller
Java
Velocity
servlet
HTML
11
12
JSF
UI
UI
UI
UI
event
UI
event listener
GUI
2.1
JSF
JSF
2-1
JSF
JSF
JSF
JSF
framework
implementor
t o o l p rov i d e r
JSF
web container
JSF
web
13
container
Macromedia
JSF
JSF framework
application developer
page author
component writer
2-1
JSF
2.2
backend
Subscriber
package com.mycompany.newsservice.models;
public class Subscriber {
private String emailAddr;
private String[] subscriptionIds;
public String getEmailAddr() {
return emailAddr;
}
public void setEmailAddr(String emailAddr) {
this.emailAddr = emailAddr;
}
public String[] getSubscriptionIds() {
return subscriptionIds;
}
public void setSubscriptionIds(String[] subscriptionIds) {
this.subscriptionIds = subscriptionIds;
}
}
Subscriber
JavaBeans
get
set
JSF UI
14
Subscriber
Subscriber
System.out
public void save() {
StringBuffer subscriptions = new StringBuffer();
if (subscriptionIds != null) {
for (int i = 0; i < subscriptionIds.length; i++) {
subscriptions.append(subscriptionIds[i]).append(" ");
}
}
System.out.println("Subscriber Email Address: " + emailAddress
+ "\nSubscriptions: " + subscriptions);
}
JSF
2.3
Java
UI
2-2
JSF
15
Subscriber
ubscriberHandler
2-2
UIComponentBase
UI
JSF
JSF UI
text fields
label
menu
link
selection list
button
JSF
2-2
UIInput
binding
value binding
renderer
UI
request
UIInput
request
UISelectMany
Subscriber
event
listener
event listener
method binding
UICommand
ActionEvent
ActionListener
SubscriberHandler
package com.mycompany.newsservice.handlers;
import com.mycompany.newsservice.models.Subscriber;
public class SubscriberHandler {
private Subscriber subscriber;
public void setSubscriber(Subscriber subscriber) {
this.subscriber = subscriber;
}
public String saveSubscriber() {
subscriber.save();
return "success";
}
}
JSF
16
SubscriberHandler
setter method
setSubscriber()
Subscriber
saveSubscriber()
Subscriber
ActionEvent
Save
save()
success
systemFailure
2-1
JSF
Subscriber
save()
JSF
JSF
String
String
Subscriber
JSF
SubscriberHandler
faces-config.xml
faces-config.xml
UI
<faces-con g>
...
...
<managed-bean>
<managed-bean-name>subscr</managed-bean-name>
<managed-bean-class>
com.mycompany.newsservice.models.Subscriber
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>subscrHandler</managed-bean-name>
<managed-bean-class>
com.mycompany.newsservice.handlers.SubscriberHandler
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>subscriber</property-name>
<value>#{subscr}</value>
</managed-property>
</managed-bean>
...
...
</faces-con g>
faces-config.xml
17
faces-config.xml
<managed-bean>
XML
<managed-bean>
Subscriber
session scope
subscr
scope
session
scope
Subscriber
<managed-bean>
SubscriberHandler
subscrHandler
<managed-property>
subscriber
subscr
SubscriberHandler
Subscriber
2.4
Java
UI
...
UI
UI
request
JSF
JSF
JSF 1.0
JSF
JSP
JSP
JSF
JSP
JSF UI
JSP
JSP
JSP
JSF
JSP
JSP
2-1
JSF
JSP
JSF
2-1
JSF
JSP
newsservice/subscribe.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" pre x="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" pre x="f" %>
<html>
<head>
<title>Newsletter Subscription</title>
18
2-1
JSF
JSP
newsservice/subscribe.jsp
</head>
<body>
<f:view>
<h:form>
<table>
<tr>
<td>Email Address:</td>
<td>
<h:inputText value="#{subscr.emailAddr}" />
</td>
</tr>
<td>
<td>News Letters:</td>
<td>
<h:selectManyCheckbox value="#{subscr.subscriptionIds}">
<f:selectItem itemValue="1" itemLabel="JSF News" />
<f:selectItem itemValue="2" itemLabel="IT Industry News"/>
<f:selectItem itemValue="3" itemLabel="Company News" />
</h:selectManyCheckbox>
</td>
</tr>
</table>
<h:commandButton value="Save"
action="#{subscrHandler.saveSubscriber}" />
</h:form>
</f:view>
</body>
</html>
2-1
JSP CTL
JSP
JSF
h
HTML
f
HTML renderer
Faces
validator
JSF UI
event listener
UI
CTL
HTML
JSF UI
<f:view>
JSF
form
JSF
<h:inputText>
subscr bean
JSF
<h:form>
JSF
HTML
value
emailAddr
Subscriber bean
JSP
19
<f:selectItem>
<h:selectManyCheckbox>
<h:selectManyCheckbox>
subscr
value
Subscriber bean
<h:commandButton>
subscriptionIds
action
Save
subscrHandler
SubscriberHandler b e a n
saveSubscriber()
2-3
JSP
JSF
faces-config.xml
container
JSP
bean
<h:inputText>
UIInput
bean property
bean
JSF
faces-config.xml
bean
bean
HTML <input>
JSF
Submit
request
JSF
JSF
bean property
20
JSF
JSP
JSP
response
JSP
JSP
bean properties ...
JSF
JSF
request
Related documents