实体类:
java 代码
- import java.io.Serializable;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.Table;
- import org.apache.tapestry.beaneditor.NonVisual;
- import org.apache.tapestry.beaneditor.Validate;
- import org.apache.tapestry.ioc.annotations.Order;
- @Entity
- @Table(name = "user")//对应数据库中的表名
- public class User implements Serializable {
- /*
- 页面显示字段的顺序按照类中get方法的顺序显示
- 若要提前显示某个字段,需将该字段的get方法提前到相应的位置
- */
- private static final long serialVersionUID = 1L;
- private int id;
- private String loginId;
- private String nickname;
- private String passWord;
- private int degree;
- private String registerDate;
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name = "id")//对应表中字段名
- @NonVisual//页面调用时,不显示该字段
- //还有个@Order,还没搞清楚怎么使用的
- //@Order("3")但在页面中不按照指定的数字排列,有知道的人请回复下
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- @Column(name = "loginid")
- @NonVisual
- public String getLoginId() {
- return loginId;
- }
- @Validate(value = "required")
- public void setLoginId(String loginId) {
- this.loginId = loginId;
- }
- @Column(name = "nickname")
- public String getNickname() {
- return nickname;
- }
- @Validate(value = "required")
- public void setNickname(String nickname) {
- this.nickname = nickname;
- }
- @Column(name = "password")
- public String getPassWord() {
- return passWord;
- }
- @Validate(value = "required")
- public void setPassWord(String passWord) {
- this.passWord = passWord;
- }
- @Column(name = "degree")
- @NonVisual
- public int getDegree() {
- return degree;
- }
- @Validate(value = "required")
- public void setDegree(int degree) {
- this.degree = degree;
- }
- @Column(name = "registerdate")
- @NonVisual
- public String getRegisterDate() {
- return registerDate;
- }
- @Validate(value = "required")
- public void setRegisterDate(String registerDate) {
- this.registerDate = registerDate;
- }
- }
页面使用
方式1:显示/输入数据,并且按照实体类中指定的顺序,显示与否展示在页面
页面中使用如下:
xml 代码
- <t:beaneditform submitlabel="message:submit-label" object="user"/>
方式2:显示数据,且隐藏指定字段数据,则需在标签中指定,如user中,只展示用户名,不展示密码,使用方式如下:
xml 代码
- <t:beaneditform object="user">
- <t:parameter name="password">
- <t:label for="password"/>
- <t:passwordfield t:id="password" value="user.password"/>
- </t:parameter>
- </t:beaneditform>
BeanEditForm 中内容很多,待下次补充,本人也是第一次学习使用,有写错的地方,请