注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发JSP → 文章内容

JSP和JSF合并 共同打造完美的Web层应用

作者:佚名 来源:不详 发布时间:2007-11-30 0:04:51

在JSF标签中文本输入框叫做inputText,而密码输入库叫inputSecret。下面是一个简单的JSF和JSP结合的用户接口程序。

<%@ 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>第一个JSF程序</title>   </head>   <body>    <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>   </body>               </html>

在上面的代码中,我们可以了解到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" %>

  

上面2行代码声明了JSP中要使用哪一个JSF标签库。内核库使用前缀(prefix)f声明,而HTML库使用前缀(prefix)h声明。这两个前缀并不是必须要使用,而只是一个建议。在程序中,内核库必须要使用,因为view在所有的JSF页中必须使用。而HTML标签在运行时将JSF标签转化为HTML组件,这个h前缀并不是必须的,而是JSF规范推荐使用的,这样,我们使我们的JSF程序更易读。

在声明后是几行标准的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程序,将得到如图1所显示效果。

三、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:valuechangeListener type="tempconv.page.TCChangedListener"/>     </h:inputText>     </span>    </div>    <div>     <h:outputText id="celsiusLabel" value="摄氏温度:"/>     <span>      <h:outputText id="celsiusValue" value="#{tc.celsiusTemp}">      <f:convertNumber maxFractionDigits="3" type="number"/>     </h:outputText>     </span>    </div>    <div>     <h:commandButton value="转换" action="#{tc.convert}">     </h:commandButton>    </div>    </h:form>    </f:view>   </body>               </html>


更多内容请看PCdog.com--Jsp 实例应用  Jsp 相关文章  jsp技巧专题
上一页  [1] [2] [3]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved