91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用JavaServer Faces開發Web應用

發布時間:2022-01-10 15:43:56 來源:億速云 閱讀:148 作者:iii 欄目:編程語言

這篇文章主要介紹了怎么用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="http://java.sun.com/jsf/html" prefix="h">

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

Hello,<h:output_text id="userLabel"

    modelReference="UserNameBean.userName" />

關于“怎么用JavaServer Faces開發Web應用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用JavaServer Faces開發Web應用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桂林市| 南靖县| 广水市| 高淳县| 平原县| 体育| 汨罗市| 桦甸市| 公主岭市| 云龙县| 灯塔市| 讷河市| 灵山县| 定襄县| 濮阳县| 同德县| 通化县| 永泰县| 普安县| 台北县| 澜沧| 和顺县| 库伦旗| 都昌县| 巨野县| 防城港市| 遂溪县| 招远市| 南城县| 开鲁县| 洛隆县| 信宜市| 泰宁县| 扶绥县| 呼和浩特市| 鹤庆县| 安义县| 安顺市| 霍山县| 西和县| 石林|