`

JSF简单实践

 
阅读更多

希望多了,破灭的机会就会更多,所以简简单单的希望,然后实现它,就会很快乐

                                                                                                   -----chenhailong

 

今天我们简单的事件一下JSF

我这里用的是JSF 2.0 下面开始下手

 

 

package com.java;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

/**
 * 
 * @author chenhailong
 * 
 */

@SessionScoped
@ManagedBean(name = "helloBean")
public class HelloBean implements Serializable {

    private static final long serialVersionUID = 1L;

    @ManagedProperty(value = "#{name}")
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

 

 

上面是注入bean

 

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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-app_2_5.xsd"
	version="2.5">

	<servlet>
		<servlet-name>default</servlet-name>
		<servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
		<init-param>
			<param-name>useFileMappedBuffer</param-name>
			<param-value>false</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
	</servlet>

	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>
</web-app>

 

 

web.xml

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">

	<display-name>JavaServerFaces</display-name>

	<!-- Change to "Production" when you are ready to deploy -->
	<context-param>
		<param-name>javax.faces.PROJECT_STAGE</param-name>
		<param-value>Development</param-value>
	</context-param>

	<!-- Welcome page -->
	<welcome-file-list>
		<welcome-file>hello.xhtml</welcome-file>
	</welcome-file-list>

	<!-- JSF mapping -->
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>
	<!-- Map these files with JSF -->
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.faces</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>

</web-app>

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html">

<h:head>
	<title>JSF 2.0 Hello World</title>
</h:head>
<h:body>
	<h3>JSF 2.0 Hello World Example - hello.xhtml</h3>
	<h:form>
		<h:inputText value="#{helloBean.name}"></h:inputText>
		<h:commandButton value="Welcome Me" action="welcome"></h:commandButton>
	</h:form>
</h:body>
</html>
 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html">

<h:head>
	<title>JSF 2.0 Hello World</title>
</h:head>
<h:body bgcolor="white">
	<h3>JSF 2.0 Hello World Example - welcome.xhtml</h3>
	<h4>Welcome #{helloBean.name}</h4>
</h:body>
</html>
 

 

pom.xml

 

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
        http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.mkyong.common</groupId>
	<artifactId>JavaServerFaces</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>JavaServerFaces Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<dependencies>

		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>2.1.7</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>2.1.7</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
		</dependency>
		<!-- Tomcat 6 need this -->
		<dependency>
			<groupId>com.sun.el</groupId>
			<artifactId>el-ri</artifactId>
			<version>1.0</version>
		</dependency>

	</dependencies>

	<build>
		<finalName>JavaServerFaces</finalName>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
				<configuration>
					<contextPath>/test</contextPath>
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<overrideWebXml>src/main/webapp/WEB-INF/web_jetty.xml</overrideWebXml>
					<connectors>
						<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
							<port>9090</port>
							<maxIdleTime>6000</maxIdleTime>
						</connector>
					</connectors>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

 

发布的时候要用:mvn jetty:run-exploded

 

具体的这位小伙说的非常对

 

It will make a difference, JSF Mojarra implementation only looks in WEB-INF/classes and with mvn jetty:run, jetty loads classes using inplace deployment from target/classes, so JSF can't find them. mvn jetty:run-exploded moves classes to WEB-INF/classes so it should work.

 

 

分享到:
评论

相关推荐

    JSF简单入门例子

    在这个“JSF简单入门例子”中,我们将深入探讨JSF的基本概念、关键组件以及如何创建一个简单的JSF应用程序。 **1. JSF基本概念** - **组件模型**:JSF的核心是组件模型,它定义了UI组件及其交互方式。组件可以是...

    JSF第一步--JSF+Spring+ Hibernate+AJAX编程实践 试读

    在"JSF第一步--JSF+Spring+Hibernate+AJAX编程实践 试读"这本书中,读者可以期待学习如何设置这些技术的集成环境,创建JSF组件,配置Spring容器,理解Hibernate的映射和查询机制,以及如何在JSF中使用AJAX进行异步...

    jsf第一个例子 jsf架包 jsf实例

    JSF提供了组件库,使得创建动态、交互式的网页变得简单。 在“jsf第一个例子”中,我们通常会遇到以下关键概念: 1. **JSF生命周期**:JSF有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用...

    JSF入门+JSF web实战+JSF2

    书中会介绍如何创建一个简单的JSF应用程序,设置开发环境,以及如何使用JSF的UI组件来构建动态网页。此外,还会讲解EL(Expression Language)和 Managed Beans,这两个是JSF中用于数据绑定和业务逻辑处理的关键技术...

    jsf最简单例子(源代码),初学者适合。

    "jsf例子" 表明这是一个实践示例,用于演示JSF的实际应用。 "jsf最简单例子" 强调了这是一个简化版的示例,适合初级学习者,没有过多复杂的功能和配置。 **文件名称列表:** "jsf1" 可能是指这个压缩包包含了一个名...

    简单jsf程序 供新手学习

    这个压缩包“简单jsf程序 供新手学习”显然是为了帮助初学者入门JSF,通过实践来理解其基本概念和工作原理。 **JSF的核心组成部分**: 1. **组件库**:JSF包含一个丰富的UI组件库,如按钮、表单、输入字段等,这些...

    jsf 最简单的eclipse工程例子

    在"jsf 最简单的eclipse工程例子"中,我们将探讨如何在Eclipse中创建和运行一个基础的JSF项目。这个例子可能包含了以下几个关键步骤: 1. **创建JSF工程**:首先,你需要在Eclipse中新建一个Dynamic Web Project。...

    JSF帮助文档

    标签“jsf”直接指向JSF技术,意味着文档内容可能涉及JSF的使用、教程、最佳实践或者是解决JSF开发中遇到的问题。由于提供的文件内容主要是邮件头信息和HTML格式的元数据,它们并不直接包含JSF的具体知识点。但是,...

    精通JSF-基于EJB Hibernate Spring整合开发与项目实践-第15章代码

    **JSF(JavaServer Faces)**是Java平台上用于构建用户界面的官方标准,它提供了一种组件模型和事件处理机制,使得开发Web应用程序更为简单。JSF的核心是UI组件库,这些组件可以直接在HTML页面中使用,通过声明式的...

    一个简单的jsf例子------JSF2学习笔记1

    **JSF2学习笔记1——理解JavaServer Faces 2.0框架** JavaServer Faces (JSF) 是一种基于组件的Web应用程序开发框架,由Sun ...通过阅读博文链接中的内容,你应该能够更深入地理解这些概念并实践一个简单的JSF应用。

    jsf入门实例教程

    在本教程中,我们将深入探讨JSF的基本概念和实践操作,通过"JSFDemo"这个实例项目来学习如何使用JSF。 **一、JSF概述** JSF的核心概念包括组件、事件、渲染树和生命周期。组件是JSF UI的基础,它们可以是简单的HTML...

    JSF实例

    JSF实例提供了实践操作的机会,帮助开发者深入理解如何使用JSF和JSP创建Web应用程序。通过PPT演示,你可以学习到JSF的关键特性、组件用法以及与JSP的集成方式,这对于提升你的Java Web开发技能大有裨益。记得在实践...

    JSF API帮助文档

    在JSF中,**组件** 是构建用户界面的基本单元,它们可以是简单的HTML元素,如按钮和输入字段,也可以是复杂的自定义组件。每个组件都有一个与之关联的**事件模型**,允许用户交互时触发动作。**属性** 和 **绑定** ...

    JSF框架入门教程和JSF的jar包

    1. **组件库**: JSF提供了一套丰富的UI组件,如按钮、表单、表格等,开发者可以通过简单的XML标签在页面上声明这些组件。 2. **视图(View)**: 视图是用户看到和交互的部分,通常是由JSF组件组成的JSP或Facelets...

    JSF入门级教程

    通过学习本教程,你将了解JSF的基础知识,包括如何创建简单的JSF页面、管理Bean、处理用户输入和使用AJAX功能。随着技能的提升,你可以进一步探索JSF的高级特性和最佳实践,以适应不断变化的Web开发需求。

    一个简单的JSF入门Demo

    在这个“一个简单的JSF入门Demo”中,我们将探讨JSF的基本概念、工作原理以及如何通过提供的源码和工具进行实践。 ### 1. JSF框架概述 JSF框架的核心理念是将用户界面(View)、业务逻辑(Controller)和数据模型...

Global site tag (gtag.js) - Google Analytics