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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring和JSF集成:动态导航

發(fā)布時(shí)間:2023/12/3 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring和JSF集成:动态导航 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通常,您的JSF應(yīng)用程序?qū)⑿枰交镜撵o態(tài)導(dǎo)航并開始做出動(dòng)態(tài)導(dǎo)航?jīng)Q策。 例如,您可能想根據(jù)用戶的年齡重定向他們。 大多數(shù)JSF教程建議通過將命令的action屬性綁定到支持bean來實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)航: <h:commandButton action="#{bean.actionBasedOnAge}"/>public String actionBasedOnAge() {if(age &lt; 12) {return "fetchadult";} else {return "ok"} }

上面的示例顯示了十二歲以下的人如何被定向到'fetchadult'而不是通常的'ok' 。 'fetchadult'和'ok'結(jié)果都需要在faces-config.xml定義導(dǎo)航規(guī)則,以便JSF知道要顯示的實(shí)際頁面。

使用Spring MVC時(shí),將導(dǎo)航邏輯包含在@Controller bean中通常更為自然。 為了解決這個(gè)問題,從MVC渲染JSF時(shí),隱式的'controller'和'handler'變量可用。 'controller'變量提供對(duì)映射到原始請(qǐng)求的控制器bean的訪問,并提供對(duì)基礎(chǔ)MVC處理程序的'handler'變量的訪問。 在Spring 3.0中, 'controller'和'handler'通常是同一對(duì)象。 但是,在Spring 3.1中,底層的MVC體系結(jié)構(gòu)正在發(fā)生變化 , 'handler'通常是org.springframework.web.method.HandlerMethod實(shí)例。

這是一個(gè)引用@Controller的someNavigation()方法的提交按鈕:

<h:commandButton action="#{controller.someNavigation"/>

雖然訪問控制器bean很有用,但它不是理想的解決方案。 我更喜歡在我的JSF頁面中使用邏輯名并映射那些Java方法。 我還想要一種簡單的方法來從基礎(chǔ)模型中獲取數(shù)據(jù)。

@NavigationMapping批注提供了另一種更靈活的導(dǎo)航方法。 它的工作方式與@RequestMappings非常相似。 注釋可以放在@Controller任何公共方法上,以將導(dǎo)航結(jié)果映射到目的地。

<h:commandButton action="submit"/>@NavigationMapping public String onSubmit() {return "redirect:http://www.springsource.org"; }

如果您需要訪問支持bean,則可以使用標(biāo)準(zhǔn)的Spring @Value注釋。 頁面可以解析的任何EL表達(dá)式也可以在導(dǎo)航方法參數(shù)上使用。

@NavigationMapping public String onSubmit(@Value("#{person.age}") int age) { ... }

訪問模型元素甚至更加容易。 只要您只有一個(gè)要在模型中訪問的類型的對(duì)象,并且它不是簡單類型(int,String等),就不需要任何注釋:

@NavigationMapping public String onSubmit(Person p) { ... }

也可以使用其他參數(shù)類型(有關(guān)完整列表,請(qǐng)參見JavaDoc)。 例如,這是一個(gè)導(dǎo)航映射,處理'submit' , 'cancel'和'save'結(jié)果。 注入的參數(shù)告訴我們單擊了三個(gè)結(jié)果中的哪個(gè),并提供了對(duì)源UIComponent訪問。

@NavigationMapping('submit','cancel','save') public String handleNavigation(String outcome, UIComponent source) { ... }

返回類型也同樣靈活。 您可以返回視圖名稱作為String S,你也可以使用相同的"@hotelsController.show"符號(hào),我以前的博客上講述 。 您也可以直接返回View object ,或者如果要包含隱式模型項(xiàng),則可以使用NavigationOutcome 。

最后,如果只想呈現(xiàn)即時(shí)響應(yīng),則可以使用@ResponseBody批注或返回HttpEntity 。 它的工作方式與Spring完全相同。

參考: 集成Spring和JavaServer Faces:來自Phil Webb博客博客中的JCG合作伙伴 Phillip Webb的動(dòng)態(tài)導(dǎo)航 。


翻譯自: https://www.javacodegeeks.com/2012/05/spring-jsf-integration-dynamic.html

總結(jié)

以上是生活随笔為你收集整理的Spring和JSF集成:动态导航的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 伊人22| 久草国产在线视频 | 免费看的av | 国产免费黄色av | 伊人网视频在线观看 | 另类天堂 | 国产日日操 | 久草成人在线 | 免费在线黄网站 | 欧美成人精品在线观看 | 日韩精品一区二区免费视频 | 久久理论片 | 国产精品久久视频 | www.婷婷色 | 欧美又粗又深又猛又爽啪啪九色 | 欧美黄色a级片 | 中文永久免费观看 | 日本免费高清一区二区 | 一级黄色片在线播放 | 日韩性生交大片免费看 | 中日韩黄色片 | 欧美美女一级片 | 国产福利在线视频观看 | 国产精品一级 | 亚洲精品电影院 | 欧美另类高清 | 女裸全身无奶罩内裤内衣内裤 | 免费观看已满十八岁 | 欧美日韩国产免费 | 西西444www无码大胆 | 久久免费视频观看 | 国产99久久久国产精品免费看 | 亚洲情区 | 亚洲国产日韩在线观看 | 久久久久久久影视 | 国产又大又粗又爽的毛片 | 黄色网页在线 | 狠狠干2018 | 欧美77777| 国语粗话呻吟对白对白 | 成人免费大片黄在线播放 | 欧美二区在线观看 | 网站免费黄色 | 亚洲人人在线 | 亚洲天堂av一区二区 | 亚洲人成777 | 久操青青| 天天操天天射天天爽 | 亚洲在线观看免费视频 | 欧美影视一区 | 大伊人网| 日韩激情床戏 | 在线观看av片 | 亚洲高清欧美 | 国产精选久久久 | 亚洲国产成人va在线观看天堂 | 人人干狠狠干 | 成人福利小视频 | 六月婷婷av | 自拍偷拍999 | 成人免费在线视频观看 | 久久露脸国语精品国产91 | 欧美在线 | 国产毛片基地 | 欧美中文| 欧美黑人精品 | 伊人97| 亚洲国产爱 | 欧美另类tv| 精品国产免费一区二区三区 | 99热一区二区三区 | 污视频网站免费观看 | 日本三级一区二区 | 亚洲欧洲色 | 天天射天天舔 | 精品国产不卡 | www成人啪啪18软件 | 丁香花完整视频在线观看 | 久久久久久九九 | 丝袜一区二区三区 | 韩国毛片视频 | 亚洲一区有码 | 亚洲人精品午夜射精日韩 | 无码一区二区三区在线观看 | 色偷偷久久 | 国产女主播在线一区二区 | 丰满少妇一区 | 欧美性粗暴 | 91蜜桃网站| 在线国产一区二区 | 麻豆福利在线 | 超碰国产在线观看 | 手机在线看片你懂的 | 黄色片a级 | 视频福利在线 | 日本中文字幕第一页 | 女生张开腿给男生桶 | 国产一区在线视频观看 | 玖草影院|