Struts2 CRUD删除不起作用

时间:2014-10-31 21:22:50

标签: java hibernate struts2 struts crud

我正在尝试删除项目中选定的行,我正在使用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方法中设置一个断点,我发现它甚至都没有被调用。请帮忙!

2 个答案:

答案 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"/>'的引用。