javaweb中使用JSF

1.myEclipse 中新建一个项目后,右键新建---myEclipse--add JSF capabilities..
2.web.xml

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

<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<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>

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

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


3.faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
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">
<managed-bean>
<managed-bean-name>userBean</managed-bean-name>
<managed-bean-class>cn.edu.jsf.UserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>

<managed-property>
<property-name>name</property-name>
<property-class>java.lang.String</property-class>
<value/>
</managed-property>

<managed-property>
<property-name>friend</property-name>
<property-class>cn.edu.jsf.Friend</property-class>
<null-value/>
</managed-property>

<managed-property>
<property-name>converter</property-name>
<property-class>javax.faces.convert.Converter</property-class>
<null-value/>
</managed-property>
</managed-bean>

<navigation-rule>
<from-view-id>/add.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/show.jsp</to-view-id>
</navigation-case>
</navigation-rule>

<navigation-rule>
<from-view-id>/show.jsp</from-view-id>
</navigation-rule>
</faces-config>


4.UserBean.java

/**
*
*/
package cn.edu.jsf;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

import com.sun.xml.internal.fastinfoset.stax.events.Util;

/**
* @author Administrator
*
*/
public class UserBean {
private java.lang.String name;
private Friend friend;
private Converter converter;

public UserBean() {
}

public java.lang.String getName() {
return name;
}

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

public cn.edu.jsf.Friend getFriend() {
return friend;
}

public void setFriend(cn.edu.jsf.Friend friend) {
this.friend = friend;
}


public javax.faces.convert.Converter getConverter() {
return new Converter(){

//字符类型转换为 目标类型
public Object getAsObject(FacesContext context,
UIComponent component, String value) {
if(!Util.isEmptyString(value)){
String [] values=value.split(":");
Friend friend=new Friend(values[0], Double.parseDouble(values[1]), Integer.parseInt(values[2]));
return friend;
}
return null;
}

//目标类型转换为 字符类型
public String getAsString(FacesContext context,
UIComponent component, Object value) {
// TODO Auto-generated method stub
Friend friend=(Friend)value;
if(friend!=null){
return new StringBuilder("Friend[name=").append(friend.getName())
.append(",height=").append(friend.getHeight()).append(",age=").append(friend.getAge()).toString();
}else{
return null;
}

}

};
}

public void setConverter(Converter converter) {
this.converter = converter;
}
public String add(){
return "success";
}
}



5.friend.java

package cn.edu.jsf;

public class Friend {
private String name;
private Double height;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getHeight() {
return height;
}
public void setHeight(Double height) {
this.height = height;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Friend() {
super();
// TODO Auto-generated constructor stub
}
public Friend(String name, Double height, int age) {
super();
this.name = name;
this.height = height;
this.age = age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return new StringBuffer(this.name).append(":").append(this.height).append(":").append(this.age).toString();
}


}


6.访问
localhost:8080/web_JSF/add.faces
JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架一样,JSF定义了一套JSF标签 JSF的全称   1、Joint Strike Fighter (JSF)   2、Java Server Faces (JSF) Java Server Faces (JSF)   JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。由于由Java Community Process (JCP) 推动,属于Java EE 5的技术规范,而受到了厂商的广泛支持。   JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架一样,JSF定义了一套JSF标签,能够生成与JavaBean属性绑定在一起的HTML表单元素。从应用开发者的角度看,两种框架十分相似,但是JSF可能会得到更多的支持,因为JSF是Java的标准。在未来的发展,有可能所有的J2EE应用服务器都需要支持JSF。 Java Server Faces技术好处   引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。 Java Server Faces应用程序   典型的JSF应用程序包含下列部分:   一组JSP页面   一组后台bean(为在一个页面上的UI组件定义的属性和函数的JavaBean组件)   应用程序配置资源文件(定义页面导航规则、配置bean和其它的自定义对象,如自定义组件)   部署描述文件( web.xml )   一组由应用程序开发者创建的自定义对象(有可能)   一些可能包含自定义组件、约束、转换器或者监听器的对象   为在页面表现自定义对象的一组自定义tag   包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。 Java Server Faces技术的重要开发框架 sun-ri、myfaces、icefaces、richfaces、seam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值