如何设置操作链接,以便在使用struts2时从表中删除从表中加载的行
我想从数据库中存储的表中永久删除一行,该表显示在jsp页面上。我有一个链接如何设置操作链接,以便在使用struts2时从表中删除从表中加载的行,struts2,action,Struts2,Action,我想从数据库中存储的表中永久删除一行,该表显示在jsp页面上。我有一个链接Delete(针对每一行),可以在一次单击中删除该行 我的jsp代码是: <s:iterator value="topperList" > <tr> <td><s:property value="uid"/></td> <td><s:property value="name"/><
Delete
(针对每一行),可以在一次单击中删除该行
我的jsp代码是:
<s:iterator value="topperList" >
<tr>
<td><s:property value="uid"/></td>
<td><s:property value="name"/></td>
<td><s:property value="password"/></td>
<td><s:property value="sex" /></td>
<td><s:property value="age" /></td>
<td><s:property value="city" /></td>
<td><s:property value="abuse" /></td>
<td><s:property value="lastlogin" /></td>
<td><s:property value="points" /></td>
<td><s:property value="joined" /></td>
<td><s:property value="email" /></td>
<s:url id="url" action="delete" >
<s:param name="uid"><s:property value="uid" /></s:param>
</s:url>
<td><s:a href="%{url}">Delete</s:a></td>
</tr>
</s:iterator>
struts.xml中的操作代码:
<action name="delete" class="com.rambo.action.FindToppers" method="delete" >
<result name="success">buser.jsp</result>
</action>
我已经看到表中有一个适当的行,uid=56的用户。但它显示不存在标识符为的行。
但是,我没有得到任何服务器错误日志。
有人能指出问题出在哪里吗
这应该是公共的,您可以将其更改为int我想我看到了问题所在。问题是操作中的属性cid
为null
(您可以执行System.out.println(cid)
)。如果打印了null
,您可能必须使用ParameterAware
捕获url参数,您可以从User
类中放置hibernate注释(或XML文件)吗?您好,如果您想在同一类中放置更多操作,您应该返回string
,而不是void
@Jaiwo99:那么我应该从delete()方法返回什么字符串以及返回到哪里?SUCCESS
,您的结果也是SUCCESS
,您不应该使用chain
谢谢您的回答。。我现在就试试看。我很快就会回到问题的状态。@Spunog:我有一个getCid()方法,它已经是公共的,我只通过这个公共的getCid()获取。所以我不明白我为什么要这么做。此外,整数没有问题,没有问题。你能建议一些其他的答案吗?我在代码中做了一些修改来纠正它。正在正确获取Uid的确切值。但它有新的错误,如编辑的问题“org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[beans.Users.0]”。我已经看到uid=56的表用户中有正确的行。但它显示不存在标识符为的行。你现在能指出我的问题吗?。请查看此搜索结果以获取帮助:。我无法帮助您解决此错误,抱歉:(
<action name="delete" class="com.rambo.action.FindToppers" method="delete" >
<result name="success">buser.jsp</result>
</action>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [beans.Users#0]