浏览 1193 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-10
17. 18. private String id; 19. private String description; 20. 21. public Brand() {} 22. 23. public Brand(String id, String description) { 24. this.id = id; 25. this.description = description; 26. } 27. 28. public String getId() { 29. return id; 30. } 31. 32. public String getDescription() { 33. return description; 34. } 35. 36.} 37. 38. 39.Test.java 40. 41.public class Test { 42. 43. @Persist 44. private Brand brand; 45. 46. @Persist 47. private List<Brand> brands; 48. 49. public Brand getBrand() { 50. return brand; 51. } 52. 53. public void setBrand(Brand brand) { 54. this.brand = brand; 55. } 56. 57. private List<Brand> getBrands() 58. { 59. if(brands == null) { 60. brands = new ArrayList<Brand>(); 61. brands.add(new Brand("1", "Brand 1")); 62. brands.add(new Brand("2", "Brand 2")); 63. brands.add(new Brand("3", "Brand 3")); 64. brands.add(new Brand("4", "Brand 4")); 65. } 66. 67. return brands; 68. } 69. 70. public BrandSelectModel getBrandSelectModel() { 71. return new BrandSelectModel(getBrands()); 72. } 73. 74. public BrandValueEncoder getBrandValueEncoder() { 75. return new BrandValueEncoder(getBrands()); 76. } 77. 78. public class BrandValueEncoder implements ValueEncoder<Brand> { 79. 80. private List<Brand> brands; 81. 82. public BrandValueEncoder(List<Brand> brands) { 83. this.brands = brands; 84. } 85. 86. public String toClient(Brand brand) { 87. return brand.getDescription(); 88. } 89. 90. public Brand toValue(String string) { 91. for(Brand brand : brands) { 92. 93.if(brand.getDescription().equals(string)) { 94. return brand; 95. } 96. } 97. return null; 98. } 99. 100. } 101. 102. public class BrandSelectModel implements SelectModel { 103. 104. private List<Brand> brands; 105. 106. public BrandSelectModel(List<Brand> brands) { 107. this.brands = brands; 108. } 109. 110. public List<OptionGroupModel> getOptionGroups() { 111. return null; 112. } 113. 114. public List<OptionModel> getOptions() { 115. List<OptionModel> optionModelList = new 116.ArrayList<OptionModel>(); 117. for(Brand brand: brands) { 118. optionModelList.add( 119. new OptionModelImpl( 120. brand.getDescription(), 121. false, 122. brand, 123. new String[0] 124. ) 125. ); 126. } 127. return optionModelList; 128. } 129. 130. } 131. 132.} xml 代码 1.Test.html 2. 3.<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> 4.<t:form> 5. 6. <select t:type="select" t:id="brand" 7. value="brand" model="brandSelectModel" 8.encoder="brandValueEncoder" 9. onchange="this.form.submit();" /> 10. 11. <br/> 12. 13. <t:if test="brand"> 14. ${brand.description} 15. </t:if> 16. 17.</t:form> 18.</html> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |