技术开发 频道

JavaServer Faces入门开发实例


IT168技术文档】 
    该页面起始于下列标签库声明:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    JSF实现定义了两套标签,核心标签独立于呈现技术。HTML标签将产生HTML特定的标签。如果希望Web应用程序来呈现页面,以作为一种客户端技术,则必须使用不同的标签库。 

    大量标签是标准的HTML标签:body,table等等。 
    有些标签具有前缀,例如h:inputText和f:view,这些是JSF标签,两个taglib声明说明了JSF标签库。 
    h:inputText,h:inputSecret和h:commandButton标签对应于文本字段,密码字段和提交按钮。 
    输入字段连接到对象属性,如属性value=”#{user.name}”告诉JSF实现将该文本字段于user对象的name属性相连接。user是下面给出UserBean类的一个实例,name是该类的一个属性。 

    标签可以选择任意前缀,例如:h:inputText和f:view。我们使用f作为核心标签,使用h作为HTML标签。 

    多数页面都类似于HTML表单,注意区别: 
    所有JSF标签都包含在f:view标签中。 
    不使用HTML form标签,而是在h:form标签中包含所有JSF组件。 
    不使用熟悉的input HTML标签,而是使用h:inputText,h:inputSecret,h:commandButton。 
    输入字段值绑定到一个bean属性<h:inputText value="#{user.name}"/>,当显示该页面时调用getName()方法来获取当前属性值,当提交该页面时,调用setName()方法来设置用户输入的值。h:commandButton标签具有一个action属性,它的值用来指导导航规则 
    <h:commandButton value="Login" action="login" /> 

    当用户输入name和password并且单击登录按钮时,将显示欢迎界面:


    欢迎信息包括用户名称,该例子中忽略密码。 
    welcome.jsp页面的代码:
<html> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <f:view> <head> <title>This is the first JSF example!</title> </head> <body> <h3> Welcome to JSF : <h:outputText value="#{user.name}"/> </h3> </body> </f:view> </html>
    该页面通过<h:outputText value="#{user.name}"/>中的value="#{user.name}"属性来从UserBean类中的getName()方法得到index.jsp页面所输入的用户名并显示。

0
相关文章