1 1 JavaServer Faces JavaWebJavaWeb JSP Web Web HTMLGUI JSPHTTP AWT Swing Java GUI Web WebGUI EnhydraBarracudaApache TapestryOracle UIXSun JATO 2001 JavaJava Community Process, JCP Web JavaServer Faces JavaServer Faces 1.0 2004 3 1.1JavaServer Faces JavaServer FacesJSFWeb HTTPHTTP JavaServer Faces 1.1
2 HTTP JavaWindows API Web HTML JSF JavaServer Faces Web JSF JSF HTMLFORM JSF API HTMLWeb HTML JSF JSF UIrenderer,/ HTML HTML FORM UI WML UI WML Swing PLAF JSFpresentation layer, /JavaServer PagesJSP JSP JSF JSF API JSP HTML Java
3 JSFSwing HTMLJSF Barracude/XMLCTapestry JSF 1.0 JSP JSP Web ApacheStrutshttp://jakarta.apache.org/struts/Maverichttp://mav.sourceforge.net/ JSF JSF StrutsJSF JSF 1.2 Web JSFWebUI GUI Web 1.2.1 Java Web JSP VelocityFreeMaker JSP HTML selected JSFJSPJSF <h:form> <table> <tr> <td>favorite Foods:</td> <td> <h:selectmanycheckbox value="#{cust.foodselections}"> <f:selectitem itemvalue="z" itemlabel="pizza" />
4 <f:selectitem itemvalue="p" itemlabel="pasta" /> <f:selectitem itemvalue="c" itemlabel="chinese" /> </h:selectmanycheckbox> </td> </tr> </table> </h:form> <h:selectmanycheckbox><f:selectitem>jsf JSF #{cust.foodselections} value JSF JSP JSF JSF JSF JSP 1.0 JSF API JSP HTML JSF API JSF JSF HTML <form action="validate_jstl.jsp" method="post"> <table> <tr> <td>favorite Foods:</td> <td> <input id="pizza" type="checkbox" name="food" value="z">pizza<br> <input id="pasta" type="checkbox" name="food" value="p">pasta<br> <input id="chinese" type="checkbox" name="food" value="c">chinese<br> </td> </tr> </table> </form>
5 id idjsf HTML id JSP JSF <form action="validate_jstl.jsp" method="post"> <table> <c:foreach items="${paramvalues.food}" var="current"> <c:choose> <c:when test="${current == 'z'}"> <c:set var="pizzaselected" value="true" /> </c:when> <c:when test="${current == 'p'}"> <c:set var="pastaselected" value="true" /> </c:when> <c:when test="${current == 'c'}"> <c:set var="chineseselected" value="true" /> </c:when> </c:choose> </c:foreach> <tr> <td>favorite Foods:</td> <td> <input type="checkbox" name="food" value="z" ${pizzaselected? 'checked' : ''}>Pizza<br> <input type="checkbox" name="food" value="p" ${pastaselected? 'checked' : ''}>Pasta<br> <input type="checkbox" name="food" value="c" ${chineseselected? 'checked' : ''}>Chinese </td> </tr> </table> </form> JSPJSPJSP Standard Tag Library, JSTL?? HTML XML JSP food
6 value checked 1-1 1-1 JSF 1.2.2 WebMVCModel-View-Controller MVC 1980 Xerox Smalltalk Smalltalk GUIMVC Model View
7 Controller MVC Struts Java Web MVC FORM GUI MVC Struts JSP Struts Action MVC GUIWeb HTTP Web GUI GUI GUI MVC JSFMVCWebSwing GUI 1-2 1-2JSF
8 username JSF UI addxxxlistener() FORM JSF UI HTML UI JSF JSF GUI
9 JSF 1.3JSF JSF Web Web JSFJSF Web WebJSP JSP JSTL JSF JSF WebJSF 1.3.1JSP JSF JSF JSP JSF JSP JSF UI JSP JSP JSF Java1JSPJSF Java JSF Java 1.3.2StrutsJSF Struts JSF HTTP doget()
10 HTML JSPVelocityXSLT UI API Struts JSF JSF JSFStruts JSF JSFStruts JSF Struts JSF Struts Action JSF UI Barracuda/XMLCTapestry JSF JSF JSF 1.3.3 JavaBeans JSF JavaBeansEnterprise JavaBeans, EJB J2EE HTML WML GUI Web
11 JSF 1.4JSF JSF PC Java 2 JDKJava 2 SDK JSP 2.0 Web Jakarta Tomcat 5.x JSF 1.0 Sun Reference Implementation Tomcat 5 JSF JSP 2.0 JSF Tomcat JSF IBMOracleSunJSF JSF Sun JSF http://java.sun.com/j2ee/javaserverfaces/ James Holmes JSF http://www.jamesholmes.com/javaserverfaces/ / Tomcat JSF JSF JSF 1.0 2.3 JSP 1.2 JSP 2.0