日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hello1源码解析

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hello1源码解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:選擇hello1文件夾并單擊“打開項目”。展開“Web頁”節點,然后雙擊該index.xhtml文件以在編輯器中查看它。

該index.xhtml文件是Facelets應用程序的默認登錄頁面。在典型的Facelets應用程序中,網頁是在XHTML中創建的。對于此應用程序,頁面使用簡單的標記來顯示帶有圖形圖像,標題,字段和兩個命令按鈕的表單

?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN??? "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //此標簽可告知瀏覽器文檔使用哪種 HTML 或 XHTML規范;DTD一整套文本類型的定義;標準原文的鏈接

?

<html lang="en"

????? xmlns="http://www.w3.org/1999/xhtml"

????? xmlns:h="http://xmlns.jcp.org/jsf/html"> //語言使用英文;xml采用名字空間聲明,允許你通過一個網址來識別你的標記;jcp是java社區的執行委員會

??? <h:head>

??????? <title>Facelets Hello Greeting</title>

??? </h:head>

??? <h:body>

??????? <h:form>

??????????? <h:graphicImage url="#{resource['images:duke.waving.gif']}"

??????????????????????????? alt="Duke waving his hand"/>????????? //做為資源形式出現的;alt加載不出來就進行替換

??????????? <h2>Hello, my name is Duke. What's yours?</h2>

??????????? <h:inputText id="username"

???????????????????????? title="My name is: "

?????????????? ??????????value="#{hello.name}"

???????????????????????? required="true"

???????????????????????? requiredMessage="Error: A name is required."

???????????????????????? maxlength="25" />?????? //Web頁面Hello通過Expression Language(EL)值表達式連接到托管bean,

??????????? ????????????????????????????????????//該表達式從托管bean中#{hello.name}檢索name屬性的值。請注意使用 hello引用托管bean Hello。如果@Named在托管bean 的注釋中未指定名稱,

?????????????????????????????????????????????? //則始終使用小寫的類名的第一個字母訪問托管bean

?????????????????????????????????????????????? //required屬性指定必須填寫該字段; requiredMessage如果字段為空,則該 屬性提供要顯示的錯誤消息

??????????? <p></p>

??????????? <h:commandButton id="submit" value="Submit" action="response">

??????????? </h:commandButton>

??????????? <h:commandButton id="reset" value="Reset" type="reset">

??????????? </h:commandButton>?????????????????? //Submit commandButton元素將操作指定為response,表示單擊按鈕時,將response.xhtml顯示該頁面。

??????? </h:form>

??????? ...

??? </h:body>

</html>

2:雙擊該response.xhtml文件以查看它。

出現響應頁面。甚至比問候頁面簡單,響應頁面包含一個圖形圖像,一個顯示托管bean提供的表達式的標題,以及一個按鈕,其 action元素將您傳回index.xhtml頁面:

?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

??? "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en"

????? xmlns="http://www.w3.org/1999/xhtml"

????? xmlns:h="http://xmlns.jcp.org/jsf/html">

??? <h:head>

??????? <title>Facelets Hello Response</title>

??? </h:head>

??? <h:body>

??????? <h:form>

??????????? <h:graphicImage url="#{resource['images:duke.waving.gif']}"

??????????????????????????? alt="Duke waving his hand"/>

??????????? <h2>Hello, #{hello.name}!</h2>

??????????? <p></p>

??????????? <h:commandButton id="back" value="Back" action="index" />

??????? </h:form>

??? </h:body>

</html>

3.展開“源包”節點,然后展開javaeetutorial.hello1 節點。雙擊該Hello.java文件以查看它。在Hello類,稱為管理bean類,提供了getter和setter方法name中的Facelets頁面表達式中使用屬性。默認情況下,表達式語言引用類名,第一個字母為小寫(hello.name)。

?

package javaeetutorial.hello1;

?

import javax.enterprise.context.RequestScoped;

import javax.inject.Named;?? //使用請求范圍將類標識為托管bean,范圍定義應用程序數據如何保持和共享

?

@Named

@RequestScoped???????????? //@表示注解

public class Hello {

?

??? private String name;

?

??? public Hello() {

??? }

?

??? public String getName() {

??????? return name;

??? }

?

??? public void setName(String user_name) {

??????? this.name = user_name;

??? }

}

//JavaServer Faces應用程序中最常用的范圍如下:

//Request(@RequestScoped):請求范圍在Web應用程序中的單個HTTP請求期間保持不變。在類似的應用程序hello1中,應用程序由單個請求和響應組成,bean使用請求范圍

//Session(@SessionScoped):會話范圍在Web應用程序中的多個HTTP請求中保持不變。當應用程序由需要維護數據的多個請求和響應組成時,bean使用會話范圍

//Application(@ApplicationScoped):應用程序范圍在所有用戶與Web應用程序的交互中持續存在

4:在“Web頁”節點下,展開WEB-INF節點,然后雙擊該web.xml文件以進行查看。該web.xml文件包含Facelets應用程序所需的幾個元素。使用NetBeans IDE創建應用程序時,將自動創建以下所有內容。

指定項目階段的上下文參數:

?

??? <context-param>

??????? <param-name>javax.faces.PROJECT_STAGE</param-name>

??????? <param-value>Development</param-value>

??? </context-param>

上下文參數提供Web應用程序所需的配置信息。應用程序可以定義自己的上下文參數。此外,JavaServer Faces技術和Java Servlet技術定義了應用程序可以使用的上下文參數。

?

一個servlet元素及其servlet-mapping元素指定 FacesServlet。所有帶.xhtml后綴的文件都將匹配:

?

??? <servlet>

??????? <servlet-name>Faces Servlet</servlet-name>

??????? <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

??????? <load-on-startup>1</load-on-startup>

??? </servlet>

??? <servlet-mapping>

??????? <servlet-name>Faces Servlet</servlet-name>

??????? <url-pattern>*.xhtml</url-pattern>

??? </servlet-mapping>

一個welcome-file-list元素指定著陸頁的位置:

?

??? <welcome-file-list>

??????? <welcome-file>index.xhtml</welcome-file>

??? </welcome-file-list>

轉載于:https://www.cnblogs.com/April315/p/10521219.html

總結

以上是生活随笔為你收集整理的hello1源码解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。