tapestry5.0之Grid

1.tml文件
<t:layout  xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">   
<t:beaneditform t:id="user" submitlabel="Create User" object="user"/>

<h1>List Users</h1>
<t:grid source="users" row="user" rowsPerPage="5" pagerPosition="bottom" empty="nodata"
t:rowClass="literal:evenodd" add="operation">
<t:parameter name="userNameCell">
<t:pagelink page="user/edit" context="user.id">${user.userName}</t:pagelink>
</t:parameter>
<t:parameter name="operationCell">
<t:actionlink t:id="delete" context="user.id">Delete</t:actionlink>
</t:parameter>
</t:grid>
</t:layout>

2.java文件
package com.logcd.tapestry5.myapp.pages.user;

import java.util.List;

import org.apache.tapestry5.annotations.IncludeStylesheet;
import org.apache.tapestry5.ioc.annotations.Inject;

import com.logcd.myapp.dao.UserDao;
import com.logcd.myapp.models.User;

@SuppressWarnings("unchecked")
@IncludeStylesheet("classpath:com/logcd/tapestry5/myapp/pages/user/CreateUser.css")
public class CreateUser {

private User user;

@Inject
private UserDao userDao;

public CreateUser(){}

public void setUser(User user) {
this.user = user;
}

public User getUser() {
return user;
}

Object onSuccess() {
user.setPhones(null);
userDao.save(user);
return CreateUser.class;
}

void onActionFromDelete(long userId){
userDao.delete(userDao.findById(userId));
}

public List<User> getUsers() { return userDao.findAll(); }
}

3.properties文件

#定义表头文本
operation-label=操作
userName-label=用户名称
emailAddress-label=电子邮箱
birthday-label=出生日期
role-label=角色

也可以在java文件中定义表头
	@Inject  
private BeanModelSource beanModelSource;

@Inject
private ComponentResources componentSources;

@Inject
private Messages _messages;

private BeanModel userBeanModel;
public BeanModel getUserBeanModel(){
return buildUserBeanModel(beanModelSource,componentSources);
}

public BeanModel buildUserBeanModel(BeanModelSource beanModelSource, ComponentResources componentSources){
if(userBeanModel == null){
userBeanModel = beanModelSource.createEditModel(User.class,_messages);
userBeanModel.get("userName").label("用户名");
userBeanModel.get("emailAddress").label("电子邮箱");
userBeanModel.get("birthday").label("出生日期");
userBeanModel.get("role").label("角色");
userBeanModel.add("operation",new LogcdPropertyConduit()).label("操作");
}
return userBeanModel;
}
同时给grid标签加上model="userBeanModel"就可以了。
public class LogcdPropertyConduit implements PropertyConduit{

public Object get(Object arg0) {
return "";
}

@SuppressWarnings("unchecked")
public Class getPropertyType() {
return String.class;
}

public void set(Object arg0, Object arg1) {

}

public <T extends Annotation> T getAnnotation(Class<T> arg0) {
return null;
}

}

4.css文件
table.t-data-grid {
border-collapse: collapse;
border-left: 1px solid silver;
width: 100%;
}

table.t-data-grid thead tr th{
background: #990000
color: white;
text-align: center;
vertical-align: middle;
font-size:10px;
}

div.t-data-grid-pager span.current {
background: #FFFFFF none repeat scroll 0%;
border: 1px solid #CCCCCC;
color: #CCCCCC;
padding: 2px 5px;
text-decoration: none;
}

div.t-data-grid-pager a:hover {
background: #CC0000 none repeat scroll 0%;
color: #FFFFFF;
}

div.t-data-grid-pager a {
border: 1px solid silver;
color: #CC0000;
font-size: medium;
margin-right: 5px;
padding: 2px 5px;
text-decoration: none;
}

div.t-data-grid-pager span.current {
border: 1px solid silver;
color: black;
font-size: medium;
margin-right: 5px;
padding: 2px 5px;
text-decoration: none;
}

.evenodd {
line-height: 23px;
background-color: expression(( this.sectionRowIndex % 2 == 0) ?
"#E6EFF7" : "#F4F8FF" );
}

.userName,.operation,.birthday,.role{
text-align: center;
vertical-align: middle;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值