我正在学习struts 2.
我创建了一个简单的项目,可以添加和列出用户添加的PRODUCT。 list是我的第一页,显示添加的所有产品。这是我的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";
}
我的错误在哪里? 感谢。
答案 0 :(得分:2)
要重定向到其他操作,请使用redirectAction
结果类型。
<action name="addProduct" class="control.ProductHandler" method="add">
<result name="success" type="redirectAction">listProduct</result>
</action>