将结果从确认消息传递到Spring MVC控制器

时间:2018-12-26 13:32:35

标签: javascript java spring jsp jstl

我在spring mvc中有一个项目分配,并且我有一个从表中删除元素的功能,我想对操作进行确认。

我没有js的经验,我在w3schools中看到了这段代码,但是未能实现它,因此它可以为我工作。

<!-- level One  Offer for Drop Down -->
<div class="row no-overflow">
  <div class="col-md-1 window-pad-height no-overflow">
    <mat-label> Level 1: </mat-label>
  </div>
  <div class="col-md-2 no-overflow">
    <mat-form-field class="no-overflow">
      <mat-select placeholder="select" [(ngModel)]="selectedOfferOne">
        <mat-option *ngFor="let level of LevelValue.level1" [value]="level">
          {{level.level1Name}}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>
</div>

<!-- level Two  Offer for Drop Down -->
<div class="row no-overflow">
  <div class="col-md-1  no-overflow">
    <mat-label> Level 2: </mat-label>
  </div>
  <div class="col-md-2 no-overflow">
    <mat-form-field class="no-overflow">
      <mat-select placeholder="select" [(ngModel)]="selectedOfferTwo">
        <mat-option *ngFor="let level of selectedOfferOne.level2" [value]="level">
          {{level.level2Name}}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>
</div>

<!-- level Three Offer for Drop Down -->
<div class="row no-overflow">
  <div class="col-md-1 no-overflow">
    <mat-label> Level 3: </mat-label>
  </div>
  <div class="col-md-2 no-overflow">
    <mat-form-field class="no-overflow">
      <mat-select placeholder="select" [(ngModel)]="selectedOfferThree">
        <mat-option *ngFor="let level of selectedOfferTwo.level3" [value]="level">
          {{level.level3Name}}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>
</div>


<!-- level Four Offer for Drop Down -->
<div class="row no-overflow">
  <div class="col-md-1 no-overflow">
    <mat-label> Level 4: </mat-label>
  </div>
  <div class="col-md-2 no-overflow">
    <mat-form-field class="no-overflow">
      <mat-select placeholder="select" [(ngModel)]="selectedOfferFour">
        <mat-option *ngFor="let level of selectedOfferThree.level4" [value]="level">
          {{level.level4Name}}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>
</div>

<!-- level Five Offer for Drop Down -->
<div class="row no-overflow">
  <div class="col-md-1 no-overflow">
    <mat-label> Level 5: </mat-label>
  </div>
  <div class="col-md-2 no-overflow">
    <mat-form-field class="no-overflow">
      <mat-select placeholder="select" [(ngModel)]="selectedOfferFive">
        <mat-option *ngFor="let level of selectedOfferFour.level5" [value]="level">
          {{ level }}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>
</div>

有任何我可以检查的消息来源吗?

1 个答案:

答案 0 :(得分:0)

如果您调用由控制器处理的URL ${deleteUrl},则无论确认弹出窗口如何,都会进行删除。

在JavaScript中,您必须使用一个函数来绑定表中的文本/链接/按钮,该函数可以执行以下操作:

  1. 打开一个弹出窗口,然后然后 ...
  2. 确认后,使用AJAX调用URL。

为了简洁起见,我们使用jQuery作为强大的库。我可以构建的最简单的代码如下:

function confirmDelete(url) {
    var result = confirm("Do you want to delete an entry?");      
    if (result) {
        $.ajax({
            type : "DELETE",
            contentType : "application/json",
            url : url,
            timeout : 10000,
            success : function(data) {
                // update the table
            },
            error : function(e) {
                // handle the error
            }
        });
    }
}