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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JSF 2.2在30秒内创建一个自定义Hello World组件

發(fā)布時(shí)間:2023/12/3 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSF 2.2在30秒内创建一个自定义Hello World组件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

讓我們直接跳到很酷的東西上,說在JSF 2.0中,通過在Facelet標(biāo)記庫(kù)( *taglib.xml )中對(duì)其進(jìn)行配置,使頁(yè)面作者可以使用自定義組件。 此外,當(dāng)將組件映射到JAR中時(shí),需要在web.xml一個(gè)特殊條目以指向*taglib.xml文件。 從JSF 2.2開始,我們不再需要這些文件。 一個(gè)JSF 2.2簡(jiǎn)單定制組件包含一個(gè)類,它可能類似于以下代碼:

@FacesComponent(value = "components.HelloWorldComponent", createTag = true) public class HelloWorldComponent extends UIComponentBase {@Overridepublic String getFamily() {return "hello.world.component";}@Overridepublic void encodeBegin(FacesContext context) throws IOException {ResponseWriter writer = context.getResponseWriter();writer.write("Hello World!");} }

大多數(shù)艱苦的工作都是通過@FacesComponent批注( javax.faces.component.FacesComponent )完成的。 我們需要做的就是將createTag元素設(shè)置為true ,并且JSF應(yīng)該為我們創(chuàng)建標(biāo)簽。 此外,我們可以輕松利用我們的自定義組件,如以下代碼所示:

<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"xmlns:t="http://xmlns.jcp.org/jsf/component"><h:head><title></title></h:head><h:body><t:helloWorldComponent/></h:body> </html>

注意:請(qǐng)注意,該組件的默認(rèn)名稱空間是http://xmlns.jcp.org/jsf/component 。 對(duì)于沒有顯式命名空間的所有組件都是如此。

JSF 2.2 @FacesComponent支持的元素的完整列表如下:

  • createTag :可以設(shè)置為true或false 。 設(shè)置為true時(shí),JSF將為我們生成標(biāo)簽(更具體地說,JSF將在運(yùn)行時(shí)創(chuàng)建擴(kuò)展ComponentHandler的Facelet標(biāo)簽處理程序)。 該元素只能在JSF 2.2中使用。
  • tagName :這使我們可以指示標(biāo)簽名稱。 當(dāng)createTag設(shè)置為true ,JSF將使用此名稱來(lái)生成標(biāo)記。 該元素只能在JSF 2.2中使用。
  • namespace :這使我們可以指示標(biāo)簽的名稱空間。 當(dāng)createTag設(shè)置為true ,JSF將將此名稱空間用于生成的標(biāo)記。 如果未指定名稱空間,則JSF將使用http://xmlns.jcp.org/jsf/組件名稱空間。 該元素只能在JSF 2.2中使用。
  • value :此元素來(lái)自JSF 2.0,指示組件類型。 組件類型可以用作Application.createComponent(java.lang.String)方法的參數(shù),以創(chuàng)建Component類的實(shí)例。 從JSF 2.2開始,如果value元素丟失或?yàn)閚ull ,則JSF將通過在附加了@FacesComponent的類上調(diào)用@FacesComponent getSimpleName()方法并小寫第一個(gè)字符來(lái)獲取它。

翻譯自: https://www.javacodegeeks.com/2015/11/jsf-2-2-create-a-custom-hello-world-component-in-30-seconds.html

總結(jié)

以上是生活随笔為你收集整理的JSF 2.2在30秒内创建一个自定义Hello World组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。