我正在尝试删除项目中选定的行,我正在使用Hibernate和Struts。
<a href="DeletePublication?Id=<s:property value="Id"/>"><img
src="${pageContext.request.contextPath}/img/delete.png" width=20px
height=20px></a>
这是我要点击的链接!在struts.xml
中,Action被定义为:
<action name="DeletePublication" class="de.nak.library.action.PublicationAction"
method="delete">
<result type="redirect">ShowPublicationList.action</result>
<result type="chain" name="input">ShowPublicationList</result>
</action>
Action类看起来像:
public String delete() {
publication = publicationService.loadPublication(publicationId);
if (publication != null) {
publicationService.deletePublication(publication);
}
return SUCCESS;
如果点击链接,则不会发生任何事情!我试图在delete
方法中设置一个断点,我发现它甚至都没有被调用。请帮忙!
答案 0 :(得分:1)
在struts.xml
:
<constant name="struts.devMode" value="true" />
这将打开一个开发人员模式,您可以在控制台上看到更多日志消息。您可能没有属性的getter和setter。缺少属性中的"
。
<s:a namespace="onthepackage" action="DeletePublication"><s:param name="Id" value="%{Id}"/><img
src="<s:url value='/img/delete.png'/>" width="20px"
height="20px">
</s:a>
答案 1 :(得分:0)
而不是直接使用<a href="">
,请使用<s:url>
转到DeletePublication
操作。然后使用<s:url>
对<a href='<s:property value="#ref"/>'
的引用。