jsf案例代碼,jsf開發

本文目錄一覽:

我用JSF做了一個登錄模塊,就是登錄成功轉到成功頁面,登錄失敗轉到失敗界面。但是測試時頁面無反應?

代碼沒發現有什麼問題,web.xml文件中

servlet-mapping

servlet-nameFaces Servlet/servlet-name

url-pattern/faces/*/url-pattern

/servlet-mapping

你訪問index.jsp文件是怎麼訪問的?

我一般是設置成

servlet-mapping

servlet-nameFaces Servlet/servlet-name

url-pattern*.jsf/url-pattern

/servlet-mapping

訪問index.jsp是地址欄寫成index.jsf。

LoginBean.java最好加一個構造函數,哪怕它是空的構造函數。

你可以下個斷點,跟一下代碼,看是不是調用了verify這個方法。

有關JSF-JPA集成報 Could not find a setter for property message in class ..問題

報錯的意思是,你在往某個類的對象放值的時候,該類裡面缺少set方法,類名就是你“Could not find a setter for property message in class ..”省略號那部分,你沒打出來的那個類,而我沒有看錯的話應該就是你最後這個類“UserAction”(雖然你改名字了)。

你看下你給的代碼最後一個類,報錯的這句話

EntityManagerFactory f=Persistence.createEntityManagerFactory(“ss”);

這裡定義了一個EntityManagerFactory對象,然後把值ss放到裡面,而一般的類做“放入”操作的時候都要用到setXX()方法的,而你上面只有EntityManagerFactory getEMFactory()也就是get()方法,卻沒有set()方法,所以在你做set操作的時候卻有沒有set方法,自然會報出“Could not find a setter for property message in class ..”這樣的錯誤提示

JSF如何使用ExternalContext

除此之外,ExternalContext實例提供了包裝器方法,可以使用這些方法獲得原來需要從ServletContext、ServletRequest及ServletResponse對象上調用一些方法獲得的信息。獲取ServletContext、ServletRequest和ServletResponse對象可使用下列方法獲取servlet信息:◆getContext 此方法可獲取Web應用中與當前請求相關聯的ServletContext對象。其簽名如下:public abstract Object getContext()◆getRequest 此方法可獲取代表當前正在處理的請求的ServletRequest對象。其簽名如下:public abstract Object getRequest()◆getResponse 此方法可獲取代表當前正在呈現的響應的ServletResponse對象。其簽名如下:public abstract Object getResponse()這些方法都是返回一個java.lang.Object對象,不是servlet特有的類型,這樣就可以使JSF實現獨立於其運行的環境。比如,JSF既可用於Web容器,也可以用於其他容器,如portlet等。獲取ServletContext特性getApplicationMap方法返回一個包含 ServletContext對象里全部特性名/值對的Map 對象。下面是此方法的簽名:public abstract java.util.Map getApplication()作為一個例子,下面的代碼可獲取一個名叫databaseUtility的特性: Object contextAttribute = null; FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map contextMap = externalContext.getApplicationMap(); if (contextMap!=null)contextAttribute = contextMap.get(“databaseUtility”); 獲取Session對象及其特性通過ExternalContext對象可訪問與當前請求相關聯的Session對象。getSession方法可取回當前用戶的javax.servlet.http.HttpSession對象,如果當前用戶沒有相應的Session對象,此方法的行為由傳入的參數決定:如果為該方法傳入了一個true值,它會創建一個Session對象;否則,它會返回null。下面是getSession方法的簽名:public abstract Object getSession(boolean create)此方法其實是javax.servlet.http.HttpServletRequest接口中getSession方法的包裝器。 getSessionMap方法返回一個包含與當前請求相關聯的Session對象里所有特性名/值對的Map對象。下面是它的方法簽名:public abstract java.util.getSessionMap()要獲取Session對象里的特性,可調用Map類的get方法,傳入要獲取的特性名即可。文檔中沒有指明在當前請求沒有相應Session對象的情況下,此方法是返回null還是一個空的Map對象。所以在調用Map的get方法之前,需要先檢查 Map是否為null。下面的代碼是獲取Session特性的例子:◆Object sessionAttribute = null;◆FacesContext facesContext = FacesContext.getCurrentInstance();◆ExternalContext externalContext = facesContext.getExternalContext();◆Map sessionMap = externalContext.getSessionMap();◆if (sessionMap!=null)sessionAttribute = sessionMap.get(key);最後一行的key是一個包含特性名的字符串。獲取ServletContext對象的初始參數getInitParameter方法是 ServletContext對象的 getInitParameter方法的包裝器,用這個方法可以提取在部署描述符(web.xml文件)里用context-init元素指定的初始參數值。此方法的簽名如下:public abstract String getInitParameter(String parameterName)舉例來說,如果在部署描述符聲明了如下context-init元素:context- paramparam-namecontactPerson/param-nameparam-valueScott Jobim/param-value/context-param下面代碼中的字符串變量initParam的值會是◆Scott Jobim。FacesContext facesContext = FacesContext.getCurrentInstance();◆ExternalContext externalContext = facesContext.getExternalContext();◆String initParam = externalContext.getInitParameter(“contactPerson”);◆getInitParameterMap方法返回一個包含ServletContext對象中全部初始參數的Map對象。其簽名如下:public abstract java.util.Map getInitParameterMap()為了獲取一個初始參數的值,使用Map對象的get方法,同時傳遞初始參數的名稱。比如,下面的代碼把初始參數databaseName的值輸出到控制台。◆FacesContext facesContext = FacesContext.getCurrentInstance();◆ExternalContext externalContext = facesContext.getExternalContext();◆Map paramMap = externalContext.getInitParameterMap();◆if (paramMap!=null) {System.out.println(paramMap.get”databaseName”));}獲取Request對象的特性getRequestMap方法返回一個包含當前Request 對象中全部特性名/值對的Map對象。其方法簽名如下:public abstract java.util.Map getRequestMap()作為一個例子,下面的代碼可用來提取Request對象里的特性:◆Object requestAttribute = null;FacesContext facesContext = FacesContext.getCurrentInstance();◆ExternalContext externalContext = facesContext.getExternalContext();◆Map requestMap = externalContext.getRequestMap();if (requestMap!=null)requestAttribute = requestMap.get(key);最後一行里的Key是一個包含要提取的屬性名的字符串。訪問Request對象里的參數名和值getRequestParameterMap、 getRequestParameterNames和 getRequestParameterValuesMap方法可用來訪問Request對象里的參數名和值。 getRequestParameterMap返回一個包含Request對象里全部參數名/值對的Map對象。其簽名如下:public abstract java.util.Map getRequestParameterMap()作為一個例子,下面的代碼可用來提取名為id的請求參數的值:String id = null; FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map requestParameterMap = externalContext.getRequestParameterMap(); if (requestParameterMap!=null) id = (String) requestParameterMap.get(“id”); getRequestParameterNames方法返回一個包含全部請求參數名的 Iterator。此方法其實是 ServletRequest.getParameterNames方法的包裝器。不同的是,ExternalContext類的 getRequestParameterNames返回一個Iterator,而不是java.util.Enumeration。此方法的簽名如下:public abstract java.util.Iterator getRequestParameterNames()作為一個例子,下面的代碼把所有的請求參數名/值對輸出到控制台。 FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map requestParameterMap = externalContext.getRequestParameterMap(); Iterator parameterNames = externalContext.getRequestParameterNames(); while (parameterNames.hasNext()) { String parameterName = (String) parameterNames.next(); String parameterValue =(String) requestParameterMap.get(parameterName); System.out.println(parameterName + ” : ” + parameterValue); } getRequestParameterValuesMap方法返回一個包含Request對象里全部參數名/值對的Map對象。此方法與 getRequestParameterMap方法很相似,但getRequestParameterValuesMap可返回全部相同參數名的值。在此方法返回的Map對象上調用get(key)方法,這一點等同於獲取當前請求的ServletRequest並在其上調用 getParameterValues(key)。也就是說,Map對象返回的是一個字符串數組。 GetRequestParameterValuesMap方法的簽名如下:public abstract java.util.Map getRequestParameterValuesMap()下面例子中的代碼把請求參數id的全部值輸出到控制台。String[] id = null; FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map requestParameterValuesMap = externalContext.getRequestParameterValuesMap(); if (requestParameterValuesMap!=null) { id = (String[]) requestParameterValuesMap.get(“id”);// print all values of id for (int i=0; iid.length; i++) { System.out.println(id[i]); } } 獲取請求頭的名和值getRequestHeaderMap方法返回一個包含當前請求中全部頭名/值對的Map對象。其方法簽名如下:public abstract java.util.Map getRequestHeaderMap()舉個例子來說,下面的代碼提取host頭的值: String host = null; FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map headerMap = externalContext.getRequestHeaderMap(); if (headerMap!=null) { host = (String) headerMap.get(“host”); System.out.println(host); } 注意:報頭的名稱是不區分大小寫的。比如,對getRequestHeaderMap返回的 Map對象分別用host、Host和Host作為參數來調用 get方法,其結果是一樣的。getRequestHeaderValuesMap方法與getRequestHeaderMap方法相似。但在 getRequestHeader

JSF 跳轉至新頁面問題

h:commandButton

改成

h:commandLink

記得把兩篇貼子一塊結了

________________________________________________

h:commandButton做不到你說的那種效果,要是想在新窗口中打開,還要用h:commandButton,你就加onclick屬性吧,然後window.open吧

jsf中selectOneMenu中出現了這個問題的錯誤代碼

好好檢查你的實體類,應該是類型轉換錯誤,檢查action所綁定的頁面對應屬性

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190259.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 22:32
下一篇 2024-11-29 22:32

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python數據統計案例的實現

    Python作為一個高級編程語言,擁有着豐富的數據處理庫和工具,能夠快速、高效地進行各類數據處理和分析。本文將結合實例,從多個方面詳細闡述Python數據統計的實現。 一、數據讀取…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29

發表回復

登錄後才能評論