在上面的代码中,我们可以了解到JSF是如何同JSP集成的。我们首先可以看到一个内核标签:view。然后是几个JSF组件。如form、outputText、inputText以及commandButton。这几个组件被放到form中从而开成了form中的一部分。在程序的最开始,必须使用import导入两个标签库。代码如下。
< %@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> < %@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> |
在声明后是几行标准的HTML语句,本文不再详述。从< f:view>开始,是一段JSF语句。这段代码如下所示:
< f:view> < h:form id="simpleForm"> < h:outputText id="favoriteLabel" value="请输入一个数字:"/> < h:inputText id="favoriteValue" value="#{simple.longValue}"> < f:validateLongrange maximum="30" minimum="0"/> < /h:inputText> < p/> < h:commandButton id="submit" value="提交" action="#{simple.simpleActionMethod}"/> < /h:form> < /f:view> < /f:view> |
标签预示着JSF的开始,而它的下一个标签form将建立一个HTML Form。而outputText标签相当于HTML中的label组件。inputText标签相当于HTML中的textField组件。而commandButton标签相当于HTML中的submit按钮。
三、JSP如何响应JSF的请求
从上面的例子我们已经知道如何在JSP中使用JSF了,在这一部分让我们来看看在JSF是如何处理请求的。
首先让我们来看一个例子,这个例子是将华氏度转换为摄氏度。当用户点击提交按钮时程序将进行转换。
< %@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
< %@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
< html>
< head>
< meta HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=GB2312">
< title>温度转换程序< /title>
< /head>
< body>
< f:view>
< h:form>
< div>
< h:outputText id="fahrenheitLabel" value="请输入华氏温度:"/>
< span>
< h:inputText id="temperature" value="#{tc.fahrenheitTemp}">
< f:validateDoublerange minimum="-100.0" maximum="100.0"/>
< f:valuec