Bug 182873 JS error when use birt:paramDef with special parameter name.[0603]
Description: Javascript error when use birt:paramDef tag with special parameter name. Build number:2.2.0.v200704180630 Steps to reproduce: Prerequisite: New a report with a report parameter with name ~`!@#$%^&*()-=_+\][{}|';:"/,<>? 1. New a jsp file from BIRT tag template in BIRT Web Project. 2. Input below content in body: <birt:parameterPage id="0" name="customparameterpage" reportDesign="report/customJspTagParamDefName.rptdesign" isCustom="true"> <birt:paramDef id="1" name="~`!@#$%^&*()-=_+\][{}|';:/,?"/> <input type="submit" name="OK" value="submit"/> </birt:parameterPage> 3. Run the jsp file. Expected result: Value can be passed to report. Actual result: Javascript error. A runtime error has accurred... Error log:N/A
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/taglib/ParamDefTag.java
String localeCtl = "document.getElementById('" + isLocaleId + "')"; 
		String onChange = displayCtl + ".value = " + inputCtl + ".value;" 
				+ valCtl + ".value=" + inputCtl + ".value;" 
				+ localeCtl + ".value='" + encParamName + "';"; 
		if ( paramDef.isRequired( ) )
		{
			writer.write( "<input type=\"text\" " ); 
			writer.write( " id=\"" + encParamId + "\" " ); 
			__handleGeneralDefinition( );
			writer
					.write( " value=\"" + ParameterAccessor.htmlEncode( this.displayTextString ) + "\" " );  
			writer.write( " onchange=\"" + onChange + "\"" ); 
			writer.write( " >\n" ); 
		}
		else
		{
			String nullValueId = encParamId + "_null"; 
			String radioTextValueId = encParamId + "_radio_input"; 
			String radioNullValueId = encParamId + "_radio_null"; 
			
			writer.write( "<input type=\"hidden\" name=\"" 
					+ ParameterAccessor.PARAM_ISNULL
					+ "\" id=\"" + nullValueId + "\"" ); 
			if ( isNullValue )
				writer.write( " value=\"" 
						+ encParamName + "\"" ); 
			writer.write( " >\n" ); 
			String nullCtl = "document.getElementById('" + nullValueId + "')"; 
			String radioTextCtl = "document.getElementById('" + radioTextValueId + "')"; 
			String radioNullCtl = "document.getElementById('" + radioNullValueId + "')";