2012-03-10 12 views
0

私はStrutsの初心者であり疑いがありません。私はstrutsページを呼び出す.doファイルにリダイレクトするページを持っています。新しいページが古い値を表示する

上記のページには、前方に以下の指定されたページを呼び出します。

    <display:table name="sessionScope.LocationLoadActionForm.loadList" class="dataTable" style="width:101%;" id="row" 
            pagesize="5" cellspacing="0"> 


         <display:column title="<input type='checkbox' name='selectall' id='selectall' value='all'/>"> 
          <html:checkbox styleClass="case" name="LocationLoadActionForm" property="id" value="${row.locid}"/> 
         </display:column> 

         <display:column property="locid" title="Location ID" media="html" /> 
         <display:column property="locname" title="Location Name" group="1" sortable="true"/> 
         <display:column property="loc_city" title="Location City" group="2" sortable="true" /> 

         <display:setProperty name="paging.banner.full"> 
          <div class="pagelinks" align="right"> [<a href="{1}">First</a>/ <a href="{2}">Prev</a>] {0} [ <a href="{3}">Next</a>/ <a href="{4}">Last </a>]</div> 
         </display:setProperty> 
         <display:setProperty name="paging.banner.first"> 
          <div class="pagelinks" align="right"> [First/Prev] {0} [ <a href="{3}">Next</a>/ <a href="{4}">Last</a>] </div> 
         </display:setProperty> 
         <display:setProperty name="paging.banner.last"> 
          <div class="pagelinks" align="right">[ <a href="{1}">First</a>/ <a href="{2}">Prev</a>] {0} [Next/Last] </div> 
         </display:setProperty> 
         <display:setProperty name="paging.banner.onepage"> 
          <div class="pagelinks" align="right"> {0} </div> 
         </display:setProperty> 

         <display:setProperty name="paging.banner.all_items_found" value="" /> 
         <display:setProperty name="paging.banner.some_items_found" value="" /> 
         <display:setProperty name="paging.banner.one_item_found" value="" /> 



        </display:table> 

今すぐ削除ページとLocationload.doに転送、それをにリダイレクトボタンがあります。今私は削除操作を実行すると、私のレコードがデータベースから削除されますが、displaytagは古い値を表示します。どのように問題を解決する。次のように

ファイルをconfigの支柱の詳細は以下のとおりです。

<form-bean name="LocationDetailAddActionForm" type="Location.LocationDetailAddActionForm"/> 
    <form-bean name="LocationLoadActionForm" type="Location.LocationLoadActionForm"/> 
    <form-bean name="CountryActionForm" type="Country.CountryActionForm"/> 
    <form-bean name="LocationActionForm" type="Location.LocationActionForm"/> 
    <form-bean name="OrganizationActionForm" type="Organization.OrganizationActionForm"/> 

</form-beans> 

<global-exceptions> 

</global-exceptions> 



<action-mappings> 

    <action input="/" name="OrganizationActionForm" path="/addOrganizationGeneral" scope="session" type="Organization.OrganizationAction"> 
     <forward name="success" path="/Administrator/OrganizationDetail.jsp"/> 
    </action> 

    <action input="/" name="CountryActionForm" path="/addCountry" scope="session" type="Country.CountryAction"> 
     <forward name="success" path="/Administrator/Country.jsp"/> 
     <forward name="validate" path="/Administrator/Country_validate.jsp"/> 
    </action> 

    <action input="/" name="LocationActionForm" path="/addLocation" scope="session" type="Location.LocationAction"> 
     <forward name="success" path="/Administrator/AdminLocation/LocationDetail.jsp"/> 
    </action> 

    <action input="/" name="LocationLoadActionForm" path="/LocationLoad" scope="session" type="Location.LocationLoadAction"> 
     <forward name="success" path="/Administrator/AdminLocation/LocationDetail.jsp"/> 
    </action> 

    <action input="/" name="LocationDetailAddActionForm" path="/LocationAdd" scope="session" type="Location.LocationDetailAddAction"> 
     <forward name="success" path="/Administrator/AdminLocation/Location.jsp"/> 
    </action> 

    <action input="/" name="LocationLoadActionForm" path="/LocationDelete" scope="session" type="Location.LocationDeleteAction"> 
     <forward name="success" path="/Administrator/AdminLocation/LocationDelete.jsp"/> 
    </action> 


</action-mappings> 

答えて

1

表示タグを使用すると、表示するためにそれを伝えるの値のリストが表示されます。値が表示されている場合、それはまだリストにあることを意味します。たぶん、あなたは、データベースから項目を削除したが、セッションに格納し、テーブルで表示されたリストから削除するのを忘れ:

sessionScope.LocationLoadActionForm.loadList 

セッションが(セッションの寿命を持つオブジェクトを格納するために使用する必要がありますユーザー名、ショッピングカートなど)テーブルに表示するデータのリストを格納するために要求を使用した場合は、メモリの消費が少なくて済み、失効した値が表示されることはありません。 Strutsはデフォルトで最初にセッションスコープのアクションフォームを使用することを選択しましたが、これは非常に悪い選択でした。デフォルトでは、リクエストスコープのフォームBeanを必ず使用してください。

+0

ありがとう4 d貴重なコメント – user161004