怎么用JavaServerFaces开发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

 Hello

  <%@ taglib="" uri="/tupian/20230522/ prefix="h">

  <%@ taglib="" uri="/tupian/20230522/ prefix="f">

Hello,

    modelReference="UserNameBean.userName" />

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


标题名称:怎么用JavaServerFaces开发Web应用-创新互联
浏览路径:http://myzitong.com/article/dchjsh.html