2017-12-21 7 views
-1

呼び出されていないアクションセッターを削除します。私が作成したアクション、表示動作や編集アクションを実行するたびに、通話セッターのすべてを支柱ストラットは、私はStrutsアクションクラスとても似てい

public class OrderDetailAction extends BaseActionSupport { 

    private String ID = new OID().toString(); 
    private Collection<OrderDetail> orderdetailList; 
    private String orderStatus; 
    private String shippingAddressId; 
    private java.util.Date createdDate; 
    private java.util.Date updatedDate; 
    private String billingAddressId; 

    public void setOrderStatus(String orderStatus) { 
     this.orderStatus = orderStatus; 
    } 

    public String getOrderStatus() { 
     return orderStatus; 
    } 

    public void setShippingAddressId(String shippingAddressId) { 
     this.shippingAddressId = shippingAddressId; 
    } 

    public String getShippingAddressId() { 
     return shippingAddressId; 
    } 
    public void setCreatedDate(java.util.Date createdDate) { 
     this.createdDate = createdDate; 
    } 

    public java.util.Date getCreatedDate() { 
     return createdDate; 
    } 
    public void setUpdatedDate(java.util.Date updatedDate) { 
     this.updatedDate = updatedDate; 
    } 

    public java.util.Date getUpdatedDate() { 
     return updatedDate; 
    } 
    public void setBillingAddressId(String billingAddressId) { 
     this.billingAddressId = billingAddressId; 
    } 

    public String getBillingAddressId() { 
     return billingAddressId; 
    } 
    public String getID() { 
     return ID; 
    } 

    public void setID(String ID) { 
     this.ID = ID; 
    } 

    public Collection<OrderDetail> getOrderDetailList() { 
     return orderdetailList; 
    } 

    public void setOrderDetailList(Collection<OrderDetail> orderdetailList) { 
     this.orderdetailList = orderdetailList; 
    } 

    // some more logic 
} 

。しかし、のアクションを削除すると、 strutsはすべてのセッターを呼び出すことができません。setID()

これが発生する理由はありますか? 、他のすべてのCRUD操作のために

<input name="action:displayEditOrderDetail" class="btn btn-success" value="Edit" type="submit" id="displayOrderDetail_displayEditOrderDetail"/> 
    <input name="action:deleteOrderDetail" class="btn btn-danger" value="Delete" type="submit" id="displayOrderDetail_deleteOrderDetail"/> 
    <input name="action:getOrderDetails" class="btn btn-default" value="Cancel" type="submit" id="displayOrderDetail_getOrderDetails"/> 

に成功支柱:入力がいずれかのJSPを形成どのように見える違いはありません

<struts> 
     // some other stuff here 

     <action name="getOrderDetails" class="presentation.OrderDetailAction" method="getOrderDetails"> 
      <result name="success">OrderDetailList.jsp</result> 
     </action> 

     <action name="displayOrderDetail" class="presentation.OrderDetailAction" method='displayOrderDetail'> 
      <result name="success">OrderDetail.jsp</result> 
     </action> 

     <action name="displayCreateOrderDetail" class="presentation.OrderDetailAction" method='displayCreate'> 
      <result name="success">CreateOrderDetail.jsp</result> 
     </action> 

     <action name="createOrderDetail" class="presentation.OrderDetailAction" method='create'> 
      <result name="success" type="chain">getOrderDetails</result> 
      <result name="input">CreateOrderDetail.jsp</result> 
      <result name="error">CreateOrderDetail.jsp</result> 
     </action> 

     <action name="displayEditOrderDetail" class="presentation.OrderDetailAction" method='displayUpdate'> 
      <result name="success">EditOrderDetail.jsp</result> 
     </action> 

     <action name="editOrderDetail" class="presentation.OrderDetailAction" method='update'> 
      <result name="success" type="chain">getOrderDetails</result> 
      <result name="input">EditOrderDetail.jsp</result> 
      <result name="error">EditOrderDetail.jsp</result> 
     </action> 

     <action name="deleteOrderDetail" class="presentation.OrderDetailAction" method='delete'> 
      <result name="success" type="chain">getOrderDetails</result> 
     </action> 
// some more stuff here 
</sturts> 

:ここ

は、参考のために私のstruts.xmlですすべてのセッターを呼び出します。削除の場合は、setID()のみを呼び出します。私はDeleteのためにやっているはずの何かがありますか?

ありがとうございます。

+0

他のパラメータがstrutsアクションに送信されていることを確認してください。あなたはFirefoxのdevツール(または他の同様のツール)を使ってあなたの外出の応答をチェックしましたか? –

答えて

0

オブジェクトを削除した後には、redirectActionという結果が返されます。

<result name="success" type="redirectAction">getOrderDetails</result> 
+0

残念ながら、それでもエラーが出ています。 'setID()'を除くすべてのセッターは呼び出されません。それは削除のためのIDの設定だけを呼び出す支柱の標準はありますか? – aBrokenSniper

+0

削除アクションを呼び出すと、他のパラメータは必要ありません。いつものようにアクションを処理し、リダイレクトを次のアクションに戻す必要があります。それでも複数のパラメータが送信されている場合は、要求のタイプを再考する必要があります。この種の行為には、GETがもっと適しているかもしれません。 –

関連する問題