2019独角兽企业重金招聘Python工程师标准>>>
tapestry的grid组件,具体实现方法看源码吧,之前的教程也有讲到,这次配合数据库操作使用,实体Person.java在第二十三讲中已经贴出来了,这里就不贴了,其他源码如下:
PersonCreate.java
/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 网址:
http://www.flywind.org
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages.crud;
import java.util.Date;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.tapestry.app.entities.Person;
import com.tapestry.app.services.StartDAO;
public class PersonCreate {
@Property
private Person person;
//导入服务接口
@Inject
private StartDAO dao;
//初始化user实体
void onPrepare(){
person = new Person();
}
//提交表单的时候执行存储,返回当前页面
Object onSuccess(){
//如果时间为空值输入系统当前时间
if(person.getStartDate() == null){
person.setStartDate(new Date());
}
dao.create(person);
return PersonList.class;
}
}
PersonCreate.tml
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
版本(version):
姓(firstName):
名(lastName):
地区(region):
PersonList.java
/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 网址:
http://www.flywind.org
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages.crud;
import java.util.List;
import org.apache.tapestry5.annotations.PageActivationContext;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.tapestry.app.entities.Person;
import com.tapestry.app.services.StartDAO;
public class PersonList {
//打开user读写
@Property
private Person person;
//打开user阵列的读写
@Property
private List persons;
//导入操作数据库的服务
@Inject
private StartDAO dao;
//当前页面接收user的id值
@PageActivationContext
private Long id;
//页面加载时设置渲染
void setupRender(){
//查询User数据表
StringBuffer sql = new StringBuffer();
sql.append("from Person");
persons = dao.findWithQuery(sql.toString());
}
//单击eventlink执行删除操作
Object onDelete(Long id){
dao.deleteByID(Person.class, id);
return this;
}
}
PersonList.tml
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
.table{border-collapse: collapse; }
.table td,table th{border:1px solid #999; padding:5px;"}
添加用户
修改删除
PersonUpdate.java
/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 网址:
http://www.flywind.org
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/ package com.tapestry.app.pages.crud;
import org.apache.tapestry5.annotations.PageActivationContext;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.tapestry.app.entities.Person;
import com.tapestry.app.services.StartDAO;
public class PersonUpdate {
//接收页面传来的id值
@PageActivationContext
private Long id;
//设置user可读写
@Property
private Person person;
//导入服务
@Inject
private StartDAO dao;
//页面加载时运行
void onPrepare(){
//user为空数据时根据页面传递过来的id查询数据
if(person == null){
person = dao.findByID(Person.class, id);
}
}
//提交表单保存user数据
Object onSuccess(){
dao.update(person);
return PersonList.class;
}
}
PersonUpdate.tml
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
版本(version):
姓(firstName):
名(lastName):
地区(region):
返回查看页面
http://localhost/grid/personcrud/personlist
转载于:https://my.oschina.net/shootercn/blog/53698