千家信息网

怎么用JavaServer Faces开发Web应用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了怎么用JavaServer Faces开发Web应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用JavaServer Faces开发Web应用文
千家信息网最后更新 2026年11月01日怎么用JavaServer Faces开发Web应用

这篇文章主要介绍了怎么用JavaServer Faces开发Web应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用JavaServer Faces开发Web应用文章都会有所收获,下面我们一起来看看吧。

1、事件处理。

XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

下一步就是写事件处理器程序用来响应组件事件(诸如,选择了一个多选的选项或者点击一个按钮提交一个表单等等)。对于简单的应用,你还需指明当一个表单被提交或者访问一个超级连接时,哪一个页面会被访问。你可以实现ApplicationHandler 这个接口达到这个目的。下面的代码段显示了一个例子。这个例子中,我要看看FormEvent是不是index.JSP中Submit按钮触发的。如果是, 组件树ID就会设置为与index.jsp页面相关联的组件树的ID。

代码5: BasicApplicationHandler.Java

import java.util.SortedMap;

import javax.faces.FacesException;

import javax.faces.component.UIComponent;

import javax.faces.context.FaceSCOntext;

import javax.faces.tree.Tree;

import javax.faces.tree.TreeFactory;

import javax.faces.FactoryFinder;

import javax.faces.lifecycle.ApplicationHandler;

import javax.faces.event.FormEvent;

import javax.faces.event.FacesEvent;

import javax.faces.event.CommandEvent;

import com.sun.faces.RIConstants;

public class BasicApplicationHandler implements ApplicationHandler{

public boolean processEvent(FacesContext context, FacesEvent facesEvent) {

if (!(facesEvent instanceof FormEvent) &&

!(facesEvent instanceof CommandEvent)) {

return true;

}

boolean returnValue = false;

String treeId = null;

if (facesEvent instanceof FormEvent) {

FormEvent formEvent = (FormEvent) facesEvent;

if (formEvent.getCommandName().equals("submit")) {

treeId = "/hello.jsp";

}

returnValue = true;

} else if (facesEvent instanceof CommandEvent) {

CommandEvent commandEvent = (CommandEvent)facesEvent;

UIComponent c = commandEvent.getComponent();

if (c.getAttribute("target") != null) {

treeId = (String)c.getAttribute("target");

returnValue = true;

}

}

if (null != treeId) {

TreeFactory treeFactory = (TreeFactory)

FactoryFinder.getFactory(FactoryFinder.TREE_FACTORY);

context.setTree(treeFactory.getTree(context,treeId));

}

return returnValue;

}

}

2、开发上下文监听程序。

如果你仔细看过部署描述文件web.xml,你会注意我声明了一个servlet上下文监听程序(BasicServletContextListener)。当应用启动时,servlet容器会创建一个servlet context listener的实例,并调用它的contextInitialized 方法;当应用关闭的时候,会调用它的contextDestroyed 方法。下面是一个servlet context listener的例子。

代码6: BasicServletContextListener.java

import javax.servlet.ServletContextListener;

import javax.servlet.ServletContextEvent;

import javax.faces.FactoryFinder;

import javax.faces.lifecycle.LifecycleFactory;

import javax.faces.lifecycle.Lifecycle;

import javax.faces.lifecycle.ApplicationHandler;

public class BasicServletContextListener implements ServletContextListener {

public BasicServletContextListener() {

}

public void contextInitialized(ServletContextEvent e) {

ApplicationHandler handler = new BasicApplicationHandler();

LifecycleFactory factory = (LifecycleFactory)

FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);

Lifecycle lifecycle =

factory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);

lifecycle.setApplicationHandler(handler);

}

public void contextDestroyed(ServletContextEvent e){

}

}

3、完成响应页面。

当index.jsp中的表单被提交后,应用处理器程序启动,然后用户会被转发到响应页面hello.jsp。代码如下:

Code Sample 7: hello.jsp

<%@ taglib="" uri="http://java.sun.com/jsf/html" prefix="h">

<%@ taglib="" uri="http://java.sun.com/jsf/core" prefix="f">

Hello,

modelReference="UserNameBean.userName" />

关于"怎么用JavaServer Faces开发Web应用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"怎么用JavaServer Faces开发Web应用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

应用 开发 代码 程序 页面 事件 例子 知识 组件 表单 处理 上下 上下文 内容 处理器 按钮 方法 篇文章 监听 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 互联网新科技 河南云网互联网络科技有限公司 美国互联网保险保险科技 互联网科技公司税收优惠 互联网科技集团 互联网与未来科技 广州互联网络科技有限公司 上海致骋互联网科技 互联网巨头投资的硬核科技 中化能源互联网科技招聘 移动互联网年度科技创新 链环科技传统企业怎么转型互联网 云南省自由互联网科技有限公司 江苏互联网科技小贷 全球科技与互联网公司市值变化 求路客互联网科技电话 杭州融税互联网科技有限公司 互联网科技品牌 瑞安市蟠桃会互联网科技有限公司 咖啡 深圳科技互联网 猪兼强互联网科技 宁夏众和广鑫互联网科技有限公司 栖莱科技互联网股份有限公司 和信科技工业互联网 西安小鹰速贷互联网科技有限公司 银行科技岗属于互联网吗 浙南科技城互联网大厦招聘 科技和互联网行业的特点
0