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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第三十八讲:tapestry Ajax 关联下拉选框(select)组件

發布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三十八讲:tapestry Ajax 关联下拉选框(select)组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

源碼如下:

AJAXSelect1.java

/** * 項目名稱:TapestryStart * 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 網址: http://www.flywind.org * 版本:1.0 * 編寫:飛風 * 時間:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.ComponentResources; import org.apache.tapestry5.annotations.InjectComponent; import org.apache.tapestry5.annotations.InjectPage; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.corelib.components.Zone; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.Request; public class AJAXSelect1 { static final private String[] ALL_MAKES = new String[] { "梅州市", "河源市" }; static final private String[] NO_MODELS = new String[] {}; static final private String[] MEIZHOU_MODELS = new String[] { "五華縣", "興寧縣"}; static final private String[] HEYUAN_MODELS = new String[] { "紫金縣", "龍川縣" }; @Property private String areaMake; @Property private String cithModel; @Property private String keywords; @Property private String[] areaMakes; @Property @SuppressWarnings("unused") private String[] cithModels; @InjectPage private AJAXSelect2 page2; @InjectComponent private Zone cithModelZone; @Inject private ComponentResources componentResources; @Inject private Request request; void setupRender() { if (areaMakes == null) { areaMakes = ALL_MAKES; cithModels = NO_MODELS; } } Object onValueChangedFromAreaMake(String areaMake) { this.areaMake = areaMake; areaMakes = ALL_MAKES; if (areaMake == null) { cithModels = NO_MODELS; } else if (areaMake.equals(areaMakes[0])) { cithModels = MEIZHOU_MODELS; } else if (areaMake.equals(areaMakes[1])) { cithModels = HEYUAN_MODELS; } else { cithModels = NO_MODELS; } cithModel = null; return request.isXHR() ? cithModelZone.getBody() : null; } Object onSuccess() { page2.set(areaMake, cithModel, keywords); componentResources.discardPersistentFieldChanges(); return page2; } Object onGoHome() { componentResources.discardPersistentFieldChanges(); return Index.class; } }

AJAXSelect1.tml

<html t:type="layout" title="tapestryStart Index" ?t:sidebarTitle="Framework Version"? xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"> <form t:type="form" t:id="searchCriteria"> <t:label for="areaMake"/>: <select t:type="select" t:id="areaMake" t:model="areaMakes" t:zone="cithModelZone" t:blankOption="ALWAYS" t:blankLabel="請選擇" t:validate="required"/> <t:zone t:id="cithModelZone" id="cithModelZone" style="display: inline;"> <t:label for="cithModel"/>: <select t:type="select" t:id="cithModel" t:model="cithModels"? t:blankOption="ALWAYS" t:blankLabel="請選擇" t:validate="required"/> </t:zone> 說明: <input t:type="TextField" t:id="keywords"/> (optional)<br/>? <input type="submit" value="提交"/> <t:errors/> </form><br/> </html>

AJAXSelect2.java

/** * 項目名稱:TapestryStart * 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 網址: http://www.flywind.org * 版本:1.0 * 編寫:飛風 * 時間:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.PersistenceConstants; import org.apache.tapestry5.annotations.Persist; import org.apache.tapestry5.annotations.Property; public class AJAXSelect2 { @Persist(PersistenceConstants.FLASH) @Property @SuppressWarnings("unused") private String areaMake; @Persist(PersistenceConstants.FLASH) @Property @SuppressWarnings("unused") private String cithModel; @Persist(PersistenceConstants.FLASH) @Property @SuppressWarnings("unused") private String keyWords; public void set(String areaMake, String cithModel, String keyWords) { this.areaMake = areaMake; this.cithModel = cithModel; this.keyWords = keyWords; } }

AJAXSelect2.tml

<html t:type="layout" title="tapestryStart Index" ?t:sidebarTitle="Framework Version"? xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"> 您選擇的地區是: ${areaMake} ${cithModel} ${keyWords}!<br/><br/> </html>

轉載于:https://my.oschina.net/shootercn/blog/55513

總結

以上是生活随笔為你收集整理的第三十八讲:tapestry Ajax 关联下拉选框(select)组件的全部內容,希望文章能夠幫你解決所遇到的問題。

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