欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java在各种框架下编译Scala 【四】 Scala框架JavawicketSpring

程序员文章站 2022-07-15 15:15:03
...

创建Wicket的页面

在这里,您将创建一个Wicket页面显示从数据库加载一些内容。因此,创建主/Scala文件夹,右键单击它并选择新建|Scala类。命名为我的页面类和投入com.foo.myapp包中。如下所示:

  1. package com.foo.myapp           
  2.            
  3. import org.apache.wicket.markup.html._           
  4. import basic.Label           
  5.  import list.{ListItem, ListView}          
  6. importorg.apache.wicket.spring.injection.annot.SpringBean           
  7.            
  8. import org.apache.wicket.model.CompoundPropertyModel           
  9.            
  10. class MyPage extends WebPage {           
  11.   @SpringBean           
  12.    var ps: ProductService = _          
  13.   val productListView = newListView[Product]("productListView", ps.getAll) {           
  14.            
  15.      def populateItem(item: ListItem[Product]) = {          
  16.       item.setModel(newCompoundPropertyModel[Product](item.getDefaultModelObject))           
  17.            
  18.       item.add(new Label("name"))           
  19.       item.add(new Label("price"))           
  20.     }           
  21.   }           
  22.   add(productListView)           
  23. }           
  24.  

请注意,在创建ProductService对象加载的文件之后使用。此外,请注意该字段被分配到一个下划线(_),Scala编译为不可初始化的,而是留在默认状态。在你将覆盖作为编译之前,执行Spring bean的页面构造。现在,创建在src/main/resources/com/foo/myapp的的mypage.html文件:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">           
  2. <html>           
  3.     <table border="1">           
  4.         <tr wicket:id="productListView">           
  5.             <td wicket:id="name"></td>           
  6.             <td wicket:id="price"></td>           
  7.         </tr>           
  8.     </table>           
  9. </html>           
  10.