Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ways to access the query parameters JSP, JSTL, Javascript

I have been using the following 3 ways to access the query parameters in the 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";
}

All 3 of these work for me, but I would like to know if there is any of these has any issue and which one is preferred?

like image 959
Pulkit Mittal Avatar asked Sep 08 '25 18:09

Pulkit Mittal


1 Answers

In the first approach you are accessing the request params using Scriptlets, definitely it works, but you have to make an additional check for null. Therefore Scriptlets are always avoided.

In the second approach using JSTLs, it is better than first approach, a refined version over scriptlets giving you more flexibility and robustness. So, it is something we would always encourage. This is the best approach of the three.

In the last approach, using Javascript, though another method; but never encouraged. It involves extra care to handle params carefully and you have better options to do the same job. Not an ideal task for Javascript to handle that!

like image 92
Rohit Bansal Avatar answered Sep 10 '25 09:09

Rohit Bansal