使用hibernate和tapestry JAVA
我对Tapestry 5有问题。当我试图从单元格上有操作链接的表中删除用户时,它不会删除该用户,它总是删除表中的最后一个用户。。。这是我的密码: ViewAllUsers.java使用hibernate和tapestry JAVA,java,mysql,sql,hibernate,tapestry,Java,Mysql,Sql,Hibernate,Tapestry,我对Tapestry 5有问题。当我试图从单元格上有操作链接的表中删除用户时,它不会删除该用户,它总是删除表中的最后一个用户。。。这是我的密码: ViewAllUsers.java public class ViewAllUsers { @Inject private Session session; @Property @SessionState private User loginUser; @Property @Persist private User user; public
public class ViewAllUsers {
@Inject
private Session session;
@Property
@SessionState
private User loginUser;
@Property
@Persist
private User user;
public List<User> getAllUsers() {
return session.createCriteria(User.class).list();
}
@CommitAfter
void onActionFromIzbrisi() {
session.delete(user);
}
与:
我认为您不能像那样直接在t:context中传递您的用户实例。通用对象实例不能在客户端和服务器之间直接传递。您必须向实例传递某种引用—通常是一个id—您的onActionFromIzbrisi方法可以用来检索实际对象 根据t:context属性表示 链接可选参数的上下文。这个值列表 将转换为字符串并包含在URI中
该文档页面还显示了一个如何传递对象的示例。感谢它的有效性,我现在将使用解决方案编辑我的帖子。我编辑了我的主题,感谢Santibilors的快速回复,一切正常。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
xmlns:p="tapestry:parameter">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<title></title>
</head>
<body>
<t:Alerts />
<t:Grid t:source="allusers" t:add="Izbrisi,Edit" t:row="user">
<p:izbrisiCell>
<t:actionlink t:id="izbrisi" t:context="user">Delete</t:actionlink>
</p:izbrisiCell>
<p:editCell>
<t:PageLink t:page="EditUser" t:id="edit" t:context="user"> Edit </t:PageLink>
</p:editCell>
<p:deleteOptionCell>
</p:deleteOptionCell>
</t:Grid>
</body>
</html>
@CommitAfter
void onActionFromIzbrisi() {
session.delete(user);
}
@CommitAfter
void onActionFromIzbrisi(User user) {
session.delete(user);
}