Tapestry5 BeanEditForm 使用讲解

实体类:

java 代码
  1.   
  2. import java.io.Serializable;   
  3.   
  4. import javax.persistence.Column;   
  5. import javax.persistence.Entity;   
  6. import javax.persistence.GeneratedValue;   
  7. import javax.persistence.GenerationType;   
  8. import javax.persistence.Id;   
  9. import javax.persistence.Table;   
  10.   
  11. import org.apache.tapestry.beaneditor.NonVisual;   
  12. import org.apache.tapestry.beaneditor.Validate;   
  13. import org.apache.tapestry.ioc.annotations.Order;   
  14.   
  15. @Entity  
  16. @Table(name = "user")//对应数据库中的表名   
  17. public class User implements Serializable {   
  18.   
  19.                      /*  
  20.                       页面显示字段的顺序按照类中get方法的顺序显示  
  21.            若要提前显示某个字段,需将该字段的get方法提前到相应的位置  
  22.                      */  
  23.     private static final long serialVersionUID = 1L;   
  24.   
  25.     private int id;   
  26.   
  27.     private String loginId;   
  28.   
  29.     private String nickname;   
  30.   
  31.     private String passWord;   
  32.   
  33.     private int degree;   
  34.   
  35.     private String registerDate;   
  36.   
  37.     @Id  
  38.     @GeneratedValue(strategy = GenerationType.AUTO)   
  39.     @Column(name = "id")//对应表中字段名   
  40.     @NonVisual//页面调用时,不显示该字段   
  41.            //还有个@Order,还没搞清楚怎么使用的   
  42.            //@Order("3")但在页面中不按照指定的数字排列,有知道的人请回复下   
  43.     public int getId() {   
  44.         return id;   
  45.     }   
  46.   
  47.     public void setId(int id) {   
  48.         this.id = id;   
  49.     }   
  50.   
  51.     @Column(name = "loginid")   
  52.     @NonVisual  
  53.     public String getLoginId() {   
  54.         return loginId;   
  55.     }   
  56.   
  57.     @Validate(value = "required")   
  58.     public void setLoginId(String loginId) {   
  59.         this.loginId = loginId;   
  60.     }   
  61.   
  62.     @Column(name = "nickname")   
  63.     public String getNickname() {   
  64.         return nickname;   
  65.     }   
  66.   
  67.     @Validate(value = "required")   
  68.     public void setNickname(String nickname) {   
  69.         this.nickname = nickname;   
  70.     }   
  71.   
  72.     @Column(name = "password")   
  73.     public String getPassWord() {   
  74.         return passWord;   
  75.     }   
  76.   
  77.     @Validate(value = "required")   
  78.     public void setPassWord(String passWord) {   
  79.         this.passWord = passWord;   
  80.     }   
  81.   
  82.     @Column(name = "degree")   
  83.     @NonVisual  
  84.     public int getDegree() {   
  85.         return degree;   
  86.     }   
  87.   
  88.     @Validate(value = "required")   
  89.     public void setDegree(int degree) {   
  90.         this.degree = degree;   
  91.     }   
  92.   
  93.     @Column(name = "registerdate")   
  94.     @NonVisual  
  95.     public String getRegisterDate() {   
  96.         return registerDate;   
  97.     }   
  98.   
  99.     @Validate(value = "required")   
  100.     public void setRegisterDate(String registerDate) {   
  101.         this.registerDate = registerDate;   
  102.     }   
  103. }  

页面使用

方式1:显示/输入数据,并且按照实体类中指定的顺序,显示与否展示在页面

页面中使用如下:

 
xml 代码
  1. <t:beaneditform submitlabel="message:submit-label" object="user"/>  

方式2:显示数据,且隐藏指定字段数据,则需在标签中指定,如user中,只展示用户名,不展示密码,使用方式如下:

xml 代码
  1. <t:beaneditform object="user">        
  2. <t:parameter name="password">  
  3. <t:label for="password"/>  
  4. <t:passwordfield t:id="password" value="user.password"/>  
  5. </t:parameter>  
  6. </t:beaneditform>  

 

BeanEditForm 中内容很多,待下次补充,本人也是第一次学习使用,有写错的地方,请

你可能感兴趣的:(apache,xml,IOC,tapestry)