Maison  >  Questions et réponses  >  le corps du texte

java - SpringMvc没有根据&符号截取参数

  var url =  $('input[name="itemCode"]').val() +'/join.html?userid='+ $('input[name="userid"]').val()+'&telphone='+phone+'&axdversion='+ version +'&itemId='+ $('input[name="itemId"]').val();
  request.reqLocation(url);

Js中拼出了一个url,之后便跳转Url。其中

    reqLocation : function(url){            
        window.location = url;
    },

后端代码:

public ModelAndView registerHtml(String itemCode, Long itemId, Long userid, HttpServletRequest request,    HttpServletResponse response) {
       ......//业务代码
}

但是在有些情况下会由于参数问题报错:

【/item/zxyh/join.html】【{userid=14&itemCode=xyz&itemId=8:}】 java.lang.NullPointerException at channel.web.item.OpenItemController.down(OpenItemController.java:468) at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm

正确的应该像这样:

【/item/zxyh/join.html】【{itemId:123},{itemCode:xyz},{userid:1}】

springMVC 并没有根据&符号,将各种参数赋值。所以导致我的itemCode之类的参数为空。
js是手机端的,并且也只有少量请求会出现这种情况,想知道为什么,或者有没有人遇到同样的问题?

PHP中文网PHP中文网2744 Il y a quelques jours575

répondre à tous(4)je répondrai

  • PHP中文网

    PHP中文网2017-04-18 10:51:01

    J'ai enfin trouvé le problème ! !
    La cause du problème devrait être une attaque malveillante, utilisant un outil pour injecter des paramètres. On ne sait pas exactement comment procéder.

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:51:01

    @RequestParam

    Baidu

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 10:51:01

    Cela semble n'avoir rien à voir avec SpringMVC. Si l'itemId n'est pas obtenu dans JS, le côté serveur obtiendra naturellement NULL.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:51:01

    En cas d'erreur, vérifiez si les valeurs des paramètres dans l'URL indiquées sous le débogage front-end sont normales. Le back-end vérifie si la requête contient les paramètres ci-dessus et leurs valeurs

    .

    répondre
    0
  • Annulerrépondre