异常:org.springframework.web.bind.MissingServletRequestParameterException:必需的字符串参数'params'不存在

新手上路,请多包涵

当我单击编辑按钮时,dataTable 中的值应以表格形式显示。但不知何故它不起作用。以下是我的代码供参考。

调用数据表:

 $("#tranTable").on("click", "#edit", function(){
    var row = $(this).closest("tr");

    $("#Own-Account").removeClass("hidden");
    $("fieldset#addToListMethod").addClass("hidden");
    $("fieldset#Own-Account #templateTrxId").val( row.find("[name$=templateTrxId]").val() )
    $("fieldset#Own-Account #templateId")   .val( row.find("[name$=templateId]").val() )
    $("fieldset#newFT #fromAccNo")          .val( row.find("[name$=fromAccNo]").val() ),
    $("fieldset#newFT #methodOfTransfer")   .val( row.find("[name$=methodOfTransfer]").val() ),
    $("fieldset#Own-Account #toAccNo")      .val( row.find("[name$=toAccNo]").val() ),
    $("fieldset#Own-Account #paymentRef")   .val( row.find("[name$=paymentRef]").val() ),
    $("fieldset#Own-Account #amount")       .val( row.find("[name$=amount]").val() ),

    //hidden
    $("fieldset#Own-Account #otherPaymentDetail").val( row.find("[name$=otherPaymentDetail]").val() ),
    $("fieldset#Own-Account #email1").val( row.find("[name$=email1]").val() ),
    $("fieldset#Own-Account #email2").val( row.find("[name$=email2]").val() ),
    $("fieldset#Own-Account #sms1").val( row.find("[name$=sms1]").val() ),
    $("fieldset#Own-Account #sms2").val( row.find("[name$=sms2]").val() ),
    $("fieldset#Own-Account #purpose").val( row.find("[name$=purpose]").val() )
    $("fieldset#Own-Account #isEdit").val(1);
    $("fieldset#Own-Account #dataTableRowId").val(row.data("row-id"));

});

原文由 Vanan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

从异常来看,您的问题可能是因为 @RequestMapping 没有找到从上一页发送的参数。

在这种情况下,很可能是这样的:

 @RequestMapping(value = "/check")
public String getID(@RequestParam(value = "params") String params){
//your logic code here
}

从这里开始,当 @RequestMapping 找不到 "params" 时会发生异常:

 @RequestParam(value = "params") String params

发生这种情况是因为,默认情况下, @RequestParam 尝试获取该值。当找不到该值时,它会返回异常。

所以你有两种方法来解决这个问题,

  1. 您可以使用 params 变量提供 URL /check 或者,

  2. 您可以将 @RequestParam 要求更改为 false,如下所示:

    @RequestParam(value = “params”, required = false) 字符串参数

请注意,这是一个反映您的场景和问题的示例。幸好。

原文由 FreezY 发布,翻译遵循 CC BY-SA 4.0 许可协议

它是通过添加 required = false 修复的,如下所示:

添加前:

 public String saveOrUpdate(
    @RequestParam("studentId") String studentId,
    @RequestParam("name") String name) {

添加后:

 public String saveOrUpdate(
        @RequestParam(value = "studentId", required = false) String studentId,
        @RequestParam("name") String name) {

原文由 cng.buff 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题