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 に答える