1

我正在学习 struts 2。
我创建了一个简单的项目,可以添加和列出用户添加的产品。列表是我的第一页,显示所有添加的产品。这是我的 struts.xml 文件:

<struts>

<package name="default" namespace="/" extends="struts-default">

    <default-action-ref name="listProduct" />

    <action name="listProduct" class="control.ProductHandler" method="list">
        <result name="success">/list.jsp</result>
    </action>
    <action name="addProduct" class="control.ProductHandler" method="add">
        <result name="success">/listProduct</result>
    </action>

    <action name="*Form">
        <result>{1}.jsp</result>
    </action>
</package>

</struts>

当我进入localhost:8080/product浏览器时,它会显示 list.jsp 文件。在这个文件中,我有一个链接,我可以使用它转到 add.jsp 文件。这个链接的href是addForm
在 add.jsp 文件中,我有 3 个文本字段和一个提交按钮。当输入数据添加动作类返回“成功”,我最转到localhost:8080/product(默认页面),但它告诉我:

HTTP 状态 404 - /product/listProduct

这是我的动作文件:

public String list(){
    products=Database.get();
    return "success";
}

public String add(){
    if (add!=null){
        Product product=new Product(name, producer, price);
        Database.add(product);
    }
    return "success";
}

我的错误在哪里?谢谢。

4

1 回答 1

2

为了重定向到另一个动作使用redirectAction结果类型。

<action name="addProduct" class="control.ProductHandler" method="add">
  <result name="success" type="redirectAction">listProduct</result>
</action>
于 2013-07-02T09:31:16.043 回答