web-dev-qa-db-fra.com

Façons d'accéder aux paramètres de requête JSP, JSTL, Javascript

J'ai utilisé les 3 façons suivantes pour accéder aux paramètres de requête dans l'URL.

JSP

String success = request.getParameter("success");
if(success!=null) {
//do something
}

JSTL

<c:if test="${not empty param.success}">
//do something
</c:if>

Javascript

function getQueryParameter ( parameterName ) {
  var queryString = window.top.location.search.substring(1);
  var parameterName = parameterName + "=";
  if ( queryString.length > 0 ) {
    begin = queryString.indexOf ( parameterName );
    if ( begin != -1 ) {
      begin += parameterName.length;
      end = queryString.indexOf ( "&" , begin );
        if ( end == -1 ) {
        end = queryString.length
      }
      return unescape ( queryString.substring ( begin, end ) );
    }
  }
  return "null";
}

Tous ces 3 travaux pour moi, mais je voudrais savoir s'il y en a un qui a un problème et lequel est préféré?

25
Pulkit Mittal

Dans la première approche, vous accédez aux paramètres de demande à l'aide de Scriptlets, cela fonctionne certainement, mais vous devez effectuer une vérification supplémentaire pour null. Par conséquent, les Scriptlets sont toujours évités.

Dans la deuxième approche utilisant les JSTL, c'est mieux que la première approche, une version raffinée sur des scriptlets vous offrant plus de flexibilité et de robustesse. C'est donc quelque chose que nous encourageons toujours. C'est la meilleure approche des trois.

Dans la dernière approche, en utilisant Javascript, mais une autre méthode; mais jamais encouragé. Cela implique un soin supplémentaire pour gérer les paramètres avec soin et vous avez de meilleures options pour faire le même travail. Pas une tâche idéale pour Javascript pour gérer cela!

15
Rohit Bansal