Robi, If you only need to customize the parameters, start off by making a copy of the DefaultParametersForm.jsp. Make the changes as needed, rename the file (you don't want to overwrite the DefaultParametersForm because all other reports will use this!) then copy to the WEB-INF/modules/inputControls (or another folder you designate). Now you can reference it in the optional jsp field under the edit controls and resources page from the server. Here is a very basic example of the code that was changed in the copy of the jsp, in order to display masked input for a specified input control. Note that the input control to be changed is refered to by name (not ideal if you want to reuse the custom jsp for other reports) and there are only a few changes required, such as changing the input type='password' . Take a look at the original DefaultParametersForm.jsp and you'll be able to compare the differences. Good luck! Code:<%-- ########## SINGLE_VALUE - CUSTOM PARAMETER ########## --%> <c:when test="${inputName == 'pass'}"> <%-- Single value : InputControl.TYPE_SINGLE_VALUE --%> <li class="leaf" id="jsCtrl_pass"> <c:choose> <c:when test="${control.dataType.localResource.type == 3 or control.dataType.localResource.type == 4}"> <c:set var="controlClass" value="picker"/> </c:when> <c:otherwise> <c:set var="controlClass" value="text"/> </c:otherwise> </c:choose> <label class="control input password" for="pass" title="Filter value"> <span class="wrap"> <js:inputControlLabel control="${wrapper}" messageSource="${messageSource}"/>: </span> <input type="password" name="<c:out value="${inputName}"/>" id="<c:out value="${inputName}"/>" value="<c:out value="${wrapper.formattedValue}"/>" <c:if test="${readOnly}">disabled</c:if> onchange="fireCascade('${requestScope.reportUnitObject.URI}','${wrapper.resourceUriPrefix}','${inputName}', ${control.type}, ${readOnly});"/> <c:if test="${wrapper.errorMessage != null}"> <c:set var="hasValueError" value="true"/> </c:if> <div id="error_${inputName}"></div> <span class="message warning"><c:out value="${wrapper.errorMessage}"/></span> </label> </li> <c:set var="initAggregate_2"> initAggregate('${wrapper.resourceUriPrefix}' ,'${inputName}', ${control.type}, ${readOnly}, '<spring:escapeBody javaScriptEscape="true">${wrapper.formattedValue}</spring:escapeBody>'); </c:set> <script> ${initAggregate_2} </script> <textarea name="_evalScript" class="hidden" style="display:none"> ${initAggregate_2} </textarea> </c:when> <%-- end custom parameters --%>