`

jsf hello world---转

    博客分类:
  • JSF
 
阅读更多
首先不说多余的话,直接先上helloworld入门示例,这样最直接的初体验一下JSF
1.可以去JSF官网下载相应的JSF文件,或者使用MyEclipse6.5导入JSF支持,因为在MyEclipse6.5下建立web工程,所建的web工程下Java EE 5 Libraries下包含了jsf-impl.jar和jsf-api.jar,故导入的支持,实际是在 web.xml中对javax.faces.webapp.FacesServlet这个类的一个注册,并且导入一个可以可视化配置的 faces-config.xml配置文件,具体 web.xml中的配置如下
Xml代码 复制代码 收藏代码
  1. <servlet>  
  2.   <servlet-name>Faces Servlet</servlet-name>  
  3.   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>  
  4.   <load-on-startup>0</load-on-startup>  
  5. </servlet>  
  6. <servlet-mapping>  
  7.   <servlet-name>Faces Servlet</servlet-name>  
  8.   <url-pattern>*.faces</url-pattern>  
  9. </servlet-mapping>  
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>

该配置不需多讲,知道servlet配置的都应该知道其中的含义,这里只对*.faces做个简单的解释,凡是 *.faces的请求,均通过该类处理,Jsf处理的办法是:将直接调用对应的.jsp页面,例如:/index.faces,则实际FacesServlet会去调用对应的/index.jsp页面

2.编写一个简单的javabean
Java代码 复制代码 收藏代码
  1. package com.wepull.bean;   
  2.   
  3. public class UserBean {   
  4.     private String username;   
  5.        
  6.     public String getUsername() {   
  7.         return username;   
  8.     }   
  9.   
  10.     public void setUsername(String username) {   
  11.         this.username = username;   
  12.     }   
  13. }  
package com.wepull.bean;

public class UserBean {
	private String username;
	
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
}

我们将在index.jsp页面提交一个表单,将名字显示在result.jsp页面中
3.在faces-config.xml中进行配置
具体的配置如下:
Xml代码 复制代码 收藏代码
  1. <?xml version='1.0' encoding='UTF-8'?>  
  2.   
  3. <faces-config xmlns="http://java.sun.com/xml/ns/javaee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"  
  6.     version="1.2">    
  7.     <navigation-rule>  
  8.         <from-view-id>/index.jsp</from-view-id>  
  9.         <navigation-case>  
  10.             <from-outcome>login</from-outcome>  
  11.             <to-view-id>/result.jsp</to-view-id>  
  12.         </navigation-case>  
  13.     </navigation-rule>  
  14.        
  15.       <managed-bean>  
  16.         <managed-bean-name>user</managed-bean-name>  
  17.         <managed-bean-class>com.wepull.bean.UserBean</managed-bean-class>  
  18.         <managed-bean-scope>session</managed-bean-scope>  
  19.     </managed-bean>  
  20. </faces-config>  
<?xml version='1.0' encoding='UTF-8'?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2"> 
    <navigation-rule>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome>login</from-outcome>
			<to-view-id>/result.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	  <managed-bean>
		<managed-bean-name>user</managed-bean-name>
		<managed-bean-class>com.wepull.bean.UserBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

这里做一个简要的说明:
navigation-rule:是jsf的导航规则:在这段配置代码里面定义了一个规则,from-view-id:指的是请求来自的具体的位置,这里请求是从index.jsp中发出的,navigation-case里面指出了具体的请求,转向到具体的资源,这里login请求会转向到一个result页面
managed-bean:是在配置一个javabean,前面2个子节点不需多解释managed-bean-scope:指定javabean存储的区域

4.编写相应的jsp页面
首先编写index.jsp
首先先导入我需要使用的JSF标签
Html代码 复制代码 收藏代码
  1. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>  
  2. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>  
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

core标签处理UI组件,html标签是有些最终会转化成相应html控件
接着编写jsp页面
Html代码 复制代码 收藏代码
  1. <f:view>  
  2.         <h:form>  
  3.             <h3>请输入姓名:</h3>  
  4.             名称:<h:inputText value="#{user.username}"></h:inputText>  
  5.             <h:commandButton value="送出" action="login"></h:commandButton>  
  6.         </h:form>  
  7.        
  8.     </f:view>  
<f:view>
 		<h:form>
 			<h3>请输入姓名:</h3>
 			名称:<h:inputText value="#{user.username}"></h:inputText>
  			<h:commandButton value="送出" action="login"></h:commandButton>
 		</h:form>
 	
 	</f:view>

如果需要使用JSF的组件,也就是一系列标签,则需要使用<f:view>标签包含
<h:form>对应一个表单
<h:inputText>产生一个文本框,输入值提交之后将会把值赋给user所对应的属性name
<h:commandButton>产生一个提交按钮,提交的请求时login

再编写result.jsp
同样先导入需要的标签
在编写result.jsp的主要内容
Html代码 复制代码 收藏代码
  1. <f:view>  
  2.         <h:outputText value="#{user.username}" />您好   
  3.        
  4.     </f:view>  
<f:view>
   		<h:outputText value="#{user.username}" />您好
   	
   	</f:view>

h:outputText 会向页面打印输出对应的值

5.最后发布,启动服务器,在ie中输入
http://localhost:8080/testjsf/index.faces
testjsf对应发布的工程名
注意如果直接进入http://localhost:8080/testjsf/index.jsp页面将报错
再输入值提交,看结果
具体的代码,上传如下:
注意因为我是使用的myeclipse建工程时自带的Java EE 5 Libraries
所以下载运行的时候要么导入Java EE 5 Libraries,要么新建一个工程,或者自己导入相应的包
分享到:
评论

相关推荐

    JSF2.0-hello-world-example-2.1.7.zip

    这个"JSF2.0-hello-world-example-2.1.7.zip"是一个示例项目,用于帮助开发者了解如何在JSF 2.0环境中创建一个简单的“Hello World”应用程序。** 首先,让我们深入了解一下JSF的核心概念: 1. **组件模型**:JSF...

    JSF-2-Hello-World-Example.zip

    这个"JSF-2-Hello-World-Example.zip"压缩包很可能是包含了一个简单的JSF 2.x入门示例,帮助初学者理解框架的基本工作原理和使用方法。 JSF框架的核心组件包括: 1. **Facelets**:JSF 2.x默认的视图层技术,用于...

    jsf 入门 helloWorld

    **JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...

    JSF helloworld

    **JSF HelloWorld 示例详解** JavaServer Faces (JSF) 是一个用于构建用户界面的 Java 框架,它主要用于Web应用程序开发。这个“JSF HelloWorld”示例将帮助我们了解JSF的基础工作原理以及如何开始使用它。我们将...

    JSF2.0实战 - 1-3、Hello World,AJAX体验,onPageLoad

    例如,`HelloWorld.xhtml`,并在其中编写如下代码: ```html &lt;!DOCTYPE html&gt; xmlns:h="http://xmlns.jcp.org/jsf/html"&gt; &lt;title&gt;Hello World &lt;h1&gt;#{helloBean.message} ``` 这里,`#{helloBean....

    jsf2.0版本helloworld

    本例中的"jsf2.0版本helloworld"就是一个基础的入门示例,旨在展示如何在MyEclipse环境中配置和运行一个简单的JSF应用。 **JSF 2.0的关键特性** 1. **Faces Flow**: JSF 2.0引入了Faces Flow,这是一种新的导航模型...

    jsf-seam-jpa文档

    在实际开发中,Seam的使用涵盖了从创建简单的Hello World程序到构建复杂的业务流程驱动的应用。例如,通过Seam,开发者可以轻松实现RESTful服务,使得HTTP GET和POST操作都能得到妥善处理。此外,Seam与jBPM的集成...

    JSF的HelloWorld与新手一起分享

    ### JSF的HelloWorld与新手一起分享 #### 一、简介 JavaServer Faces(简称JSF)是一种基于组件的Web应用程序框架,它是Java平台的一部分,主要用于构建用户界面。本篇文章将通过一个简单的登录示例来介绍如何使用...

    JSF.zip_hello world

    【标题】"JSF.zip_hello world" 暗示了这是一个关于Java Server Faces(JSF)技术的基础示例,其中可能包含了一个简单的“Hello World”应用程序。JSF是Java平台上用于构建用户界面的一种模型-视图-控制器(MVC)...

    HelloWorld1_初识javaee_

    通过"HelloWorld1"的学习,开发者可以了解JavaEE的基本开发环境和流程,为进一步学习JavaEE的其他高级特性,如JPA(Java Persistence API)、JSF(JavaServer Faces)、CDI(Contexts and Dependency Injection)...

    EJB3.0之HelloWorld

    **EJB3.0之HelloWorld** EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的一部分,主要用于构建可扩展、可移植和可信赖的企业级应用。EJB3.0是EJB规范的一个重要版本,它在之前的基础上进行了重大改进,...

    jsf介绍和例子

    2. **第一个JSF应用** - 创建基本的“Hello, World!”应用,展示如何在HTML页面中使用JSF组件。 3. **Managed Bean和EL** - 学习如何创建和使用Managed Beans,以及通过EL表达式与组件交互。 4. **组件使用** - 了解...

    SpringMVC3.1.2 入门级HelloWorld源码

    [INFO] +- javax.faces:jsf-api:jar:1.2_04:provided [INFO] +- javax.servlet:jstl:jar:1.2:provided [INFO] +- javax.servlet.jsp:jsp-api:jar:2.1:provided [INFO] +- javax.faces:jsf-impl:jar:1.2_04:provided ...

    J2EE-Hello-World:您可以为j2ee中可用的每种技术(例如jsp,servlet,jsf,Web服务(肥皂和休息))打个招呼世界项目。

    J2EE-Hello-World 您可以找到j2ee中可用的每种技术的“ Hello world Example”,例如:jsp,servlet,jsf,Web服务(肥皂和休息)....如果您想参与该项目的新技术,请克隆此存储库,添加您的hello world示例,并向我...

    jsf say hello

    "JSF Say Hello" 是一个基础的JavaServer Faces (JSF) 应用程序示例,用于演示如何在JSF环境中创建一个简单的“Hello, World!”应用。JSF是一种Java平台上的用户界面(UI)组件框架,用于构建和呈现Web应用程序。...

    JSF 入门教程(结合Eclipse开发)

    10. **JSF Hello World示例** - 创建一个简单的"Hello, World!"页面,展示JSF基础操作。 - 使用一个输入字段接收用户输入,然后在页面上显示问候信息。 本教程的`first-java-server-faces-tutorial-en.pdf`文件...

    JSF入门教材part1--IBM社区

    2. **创建第一个JSF应用**:从创建一个简单的“Hello, World!”示例开始,了解如何创建和运行JSF页面。 3. **理解JSF组件和属性**:通过实例学习不同类型的组件,例如`h:inputText`用于文本输入,`h:commandButton`...

    Seam 例子 Hello World

    - **访问URL**:通过`http://localhost:8080/helloworld/`访问应用。 #### 九、总结 通过这个简单的Hello World示例,我们可以看到Seam框架如何简化了Java Web应用程序的开发过程。从实体定义到页面处理,再到事件...

    JSF入门实例 源代码

    在本实例中,你可能会找到一个或多个Managed Beans类,它们包含了"HelloWorld"逻辑的具体实现。 4. JSF页面(View): 页面通常使用Facelets作为视图表示语言,它允许开发者创建XML或XHTML格式的页面,其中嵌入了...

Global site tag (gtag.js) - Google Analytics