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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

javascript

JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能

發(fā)布時(shí)間:2023/12/3 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java企業(yè)版JavaEE 6+中提供的JSF 2+的一項(xiàng)不錯(cuò)的功能是,您可以將參數(shù)傳遞給任何操作組件(例如commandButton或commandLink組件)的操作方法。


基于此,您可以最大程度地減少托管bean中的方法數(shù)量。

另外,為了最小化在bean內(nèi)部設(shè)置的許多參數(shù),動(dòng)作可以使用這些參數(shù)來(lái)決定導(dǎo)航邏輯,如果您的bean的作用域大于請(qǐng)求作用域,則可以減少內(nèi)存消耗。

怎么運(yùn)行的:

  • 打開(kāi)您喜歡的IDE,我將使用Netbeans 7.4.1 。 (使用任何支持JavaEE 6或7的IDE)。
  • 創(chuàng)建Web項(xiàng)目。
    文件–>新建項(xiàng)目–> Java Web(左窗格) –> Web應(yīng)用程序(右窗格) –>下一步。
  • 隨便命名(對(duì)我來(lái)說(shuō)就是JSFeatures ) –>下一步–>服務(wù)器Glassfish4 –> Java EE 7 Web配置文件–>上下文路徑“ / JSFeatures” –>下一步。

  • 從框架中選擇“ Java Server Faces ” -> Finish。

  • 您應(yīng)該具有以下項(xiàng)目結(jié)構(gòu):

  • 右鍵單擊JSFeatures項(xiàng)目->新的“ JSF Managed Bean ”。 及其名稱(chēng)和配置如下:

  • 在編輯器頁(yè)面中打開(kāi)Bean的情況下,將以下代碼復(fù)制并粘貼到package語(yǔ)句之后: import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped;/*** @author mohamed_taman*/ @ManagedBean(name = "jSFeatBean") @RequestScoped public class JSFeatursBean {private String result;public String getResult() {return result;}public void setResult(String result) {this.result = result;}public JSFeatursBean() {}public Object addNumbers(int num1,int num2) {setResult("Hi there I am an action method to add numbers.");return null;} }
  • 打開(kāi)默認(rèn)生成的index.xhtml ,然后復(fù)制以下代碼并將其粘貼到文件中: <?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"><h:head><title>Facelet Title</title></h:head><h:body>Hello from Facelets<h:form><p><h:outputText value="#{jSFeatBean.result}"/></p> <h:commandButton type="submit"value="Submit"action="#{jSFeatBean.addNumbers}"/></h:form></h:body> </html>
  • 右鍵單擊index.xhtml,然后單擊–> 運(yùn)行 ; 您應(yīng)該會(huì)看到以下內(nèi)容:

  • 單擊提交按鈕,觀察h:outputText值,其值應(yīng)為“ Hi,我是一個(gè)操作方法。 “
  • 現(xiàn)在一切正常。 讓我們做我需要演示的實(shí)際工作。
  • 將addNumbers()方法簽名更改為以下內(nèi)容( 無(wú)需重新啟動(dòng)應(yīng)用程序服務(wù)器 ):
  • Bean方法: public Object addNumbers(int num1) {int res = 0;res = num1;if (res == 0) {setResult("Hi there I am an action method to add numbers.");} else {setResult("Final result is: " + res);}return null;}
  • 然后您的按鈕呼叫到: <h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1)}"/>
  • 按下按鈕,輸出文本值應(yīng)為: Final result is: 1
  • 再做一次:
  • Bean方法: public Object addNumbers(int num1, int num2) {int res = 0;res = num1 + num2;if (res == 0) {setResult("Hi there I am an action method to add numbers.");} else {setResult("Final result is: " + res);}return null;}
  • 然后您的按鈕呼叫到: <h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1,2)}"/>
  • 按下按鈕,輸出文本值應(yīng)為: Final result is: 3
  • 注意:該參數(shù)可能具有不同的參數(shù)類(lèi)型,但預(yù)計(jì)不會(huì)是同一類(lèi)型,該方法也可能返回用于導(dǎo)航到其他頁(yè)面的值,在此示例中,該參數(shù)返回null表示在同一頁(yè)面上。

    我非常喜歡此功能,非常有用,方便,編碼愉快。

    資源:

    • JavaEE 7教程(7.5導(dǎo)航模型)。

    參考: JSF:直接從頁(yè)面將參數(shù)傳遞給JSF動(dòng)作方法,這是我們的JCG合作伙伴 Mohamed Taman在“ 通過(guò)科學(xué)和藝術(shù)改善生活”博客上的JavaEE 6+的一項(xiàng)不錯(cuò)功能 。

    翻譯自: https://www.javacodegeeks.com/2014/01/jsf-passing-parameters-to-jsf-action-methods-from-page-directly-a-nice-feature-of-javaee-6.html

    總結(jié)

    以上是生活随笔為你收集整理的JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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