2016-08-10 2 views
3

私はstrutsを使い慣れていないし、アプリケーションがstrutsを使用していて、フォームを送信するたびに古い値が送信され、または私は別のタブに移動して同じタブに戻ってきて、この場合は値がリセットされています。strutsでサブミットした後にフォームデータをリセットする

私のシナリオでは、once.onで実行した後にいくつかの値をリセットする私がこの値を削除しなければ、私はいくつかのデータを検索してフォーム上に表示しなければならないそれらの値に基づいています。

これは私のexecuteメソッドです:私は、実行後に "terminalSearchByTid" フィールドをリセットする必要が

public class ListTerminalDevicesAction extends BaseQueryAction { 

    private RetailerService retailerService; 
    private DataBinder<OmposTerminalQuery> dataBinder; 
    private TerminalDeviceService terminalDeviceService; 
    private ImportCSVService importCSVService; 

    @Inject 
    public void setImportCSVService(ImportCSVService importCSVService) { 
    this.importCSVService = importCSVService; 
    } 

    @Inject 
    public void setRetailerService(final RetailerService retailerService) { 
    this.retailerService = retailerService; 
    } 

    @Inject 
    public void setTerminalDeviceService(final TerminalDeviceService terminalDeviceService) { 
    this.terminalDeviceService = terminalDeviceService; 
    } 

    @Inject 
    private DataBinder<OmposTerminalQuery> getDataBinder() { 
    if (dataBinder == null) { 
     final BeanBinder<OmposTerminalQuery> binder = BeanBinder.instance(OmposTerminalQuery.class); 
     binder.registerBinder("pageParameters", DataBinderHelper.pageBinder()); 
     binder.registerBinder("retailer", PropertyBinder.instance(OmposRetailer.class, "retailer")); 
     binder.registerBinder("branch", PropertyBinder.instance(OmposBranch.class, "branch")); 
     binder.registerBinder("store", PropertyBinder.instance(OmposStore.class, "store")); 
     binder.registerBinder("terminalId", PropertyBinder.instance(String.class, "terminalId")); 
     binder.registerBinder("terminalSearchByTid", 
      PropertyBinder.instance(String.class, "terminalSearchByTid")); 
     dataBinder = binder; 
    } 
    return dataBinder; 
    } 

    @Override 
    protected void executeQuery(ActionContext context, QueryParameters queryParameters) { 
    final OmposTerminalQuery query = (OmposTerminalQuery) queryParameters; 
    query.setResultType(ResultType.PAGE); 

    // List<OmposRetailer> retailerList = retailerService.searchRetailers(); 
    // context.getRequest().setAttribute("retailers", retailerList); 

    // if (query.getRetailer() != null) { 
    // OmposBranchQuery branchQuery = new OmposBranchQuery(); 
    // branchQuery.setOmposRetailer(query.getRetailer()); 
    // List<OmposBranch> branchList = retailerService.searchBranchByRetailer(branchQuery); 
    // context.getRequest().setAttribute("branches", branchList); 

    // if (query.getBranch() != null) { 

    // OmposStoreQuery storeQuery = new OmposStoreQuery(); 
    // storeQuery.setOmposBranch(query.getBranch()); 
    // List<OmposStore> storeList = retailerService.searchStore(storeQuery); 
    List<OmposStore> storeList = retailerService.searchStores(); 

    context.getRequest().setAttribute("stores", storeList); 

    if (query.getStore() != null) { 

     ListTerminalDevicesForm form = context.getForm(); 

     final FormFile uploadTerminal = form.getUploadTerminal(); 
     if (uploadTerminal != null && uploadTerminal.getFileSize() != 0) { 
     try { 
      ImportCSVDTO uploadDtoForTerminal = new ImportCSVDTO(); 
      // uploadDtoForTerminal.setRetailer(query.getRetailer()); 
      // uploadDtoForTerminal.setBranch(query.getBranch()); 
      uploadDtoForTerminal.setStore(query.getStore()); 

      int records = importCSVService.importCSV(TMSEntity.TERMINAL, uploadDtoForTerminal, 
       uploadTerminal.getInputStream()); 
      if (records > 0) { 
      context.getRequest().setAttribute("uploadMsgTerminal", records); 
      } 
     } catch (final UnknownColumnException | IOException e) { 
      // context.sendError("general.error.csv.unknownColumn", 
      // e.getColumn()); 
     } finally { 
      uploadTerminal.destroy(); 
     } 
     } 

     OmposTerminalQuery terminalQuery = new OmposTerminalQuery(); 
     List<OmposTerminal> terminalList = null; 
     if (query.getStore() != null && query.getTerminalSearchByTid() != null) { 
     terminalQuery.setTerminalSearchByTid(query.getTerminalSearchByTid()); 
     terminalQuery.setStore(query.getStore()); 
     terminalList = terminalDeviceService.searchTerminalByTidAndStoreId(terminalQuery); 
     } else { 
     terminalQuery.setStore(query.getStore()); 
     terminalList = terminalDeviceService.searchByStore(terminalQuery); 
     } 
     context.getRequest().setAttribute("terminals", terminalList); 

     if (query.getTerminalId() != null) { 
     OmposTerminal omposTerminal = new OmposTerminal(); 
     omposTerminal.setTerminalId(query.getTerminalId()); 
     OmposDeviceQuery deviceQuery = new OmposDeviceQuery(); 
     deviceQuery.setOmposTerminal(omposTerminal); 

     final FormFile uploadDevice = form.getUploadDevice(); 
     if (uploadDevice != null && uploadDevice.getFileSize() != 0) { 
      try { 
      ImportCSVDTO uploadDtoForDevice = new ImportCSVDTO(); 
      uploadDtoForDevice.setRetailer(query.getRetailer()); 
      uploadDtoForDevice.setBranch(query.getBranch()); 
      uploadDtoForDevice.setStore(query.getStore()); 
      uploadDtoForDevice.setTerminal(new OmposTerminal(null, query.getTerminalId(), null)); 

      int records = importCSVService.importCSV(TMSEntity.DEVICE, uploadDtoForDevice, 
       uploadDevice.getInputStream()); 
      if (records > 0) { 
       context.getRequest().setAttribute("uploadMsgDevice", records); 
      } 
      } catch (final UnknownColumnException | IOException e) { 
      // context.sendError("general.error.csv.unknownColumn", 
      // e.getColumn()); 
      } finally { 
      uploadDevice.destroy(); 
      } 
     } 

     context.getRequest().setAttribute("terminalId", query.getTerminalId()); 

     List<OmposDevice> deviceList = terminalDeviceService.searchByTerminal(deviceQuery); 
     context.getRequest().setAttribute("devices", deviceList); 

     } 
    } 

    // } 

    // } 

    } 

    @Override 
    protected QueryParameters prepareForm(ActionContext context) { 
    final ListTerminalDevicesForm form = context.getForm(); 
    final OmposTerminalQuery query = getDataBinder().readFromString(form.getQuery()); 
    return query; 
    } 

    @Override 
    protected boolean willExecuteQuery(final ActionContext context, 
     final QueryParameters queryParameters) throws Exception { 
    return true; 
    } 

} 

+1

これは本当にstruts 1.xアプリケーションですか? –

+0

はい@BalusC .... – Talib

+0

@BalusCこれはStruts2には関係ありません。それは明確な理由ですか?とにかくあなたはストラットとは関係がないので、この質問に答えることはできません。 –

答えて

1

Strutsのアクションリセット()メソッド

関連する問題