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 encParamId = ParameterAccessor.htmlEncode( param.getId( ) );
		String encParamName = ParameterAccessor.htmlEncode( param.getName( ) );
		boolean isNullValue = param.getValue( ) == null;
		
		writer.write( "<input type=\"hidden\" " ); 
		writer.write( " id=\"" + encParamId + "\" " ); 
		if ( !isNullValue )
		{
			writer.write( " name=\"" + encParamName + "\" " ); 
			writer
					.write( " value=\"" + ParameterAccessor.htmlEncode( this.valueString ) + "\" " ); 
		}
		writer.write( " >\n" ); 
		
		String displayTextId = encParamId + "_displayText"; 
		String displayTextName = ParameterAccessor.PREFIX_DISPLAY_TEXT
				+ encParamName;
		writer.write( "<input type=\"hidden\" " ); 
		writer.write( " id=\"" + displayTextId + "\" " ); 
		if ( !isNullValue )
		{
			writer.write( " name=\"" + displayTextName + "\" " ); 
			writer
					.write( " value=\"" + ParameterAccessor.htmlEncode( this.displayTextString ) + "\" " ); 
		}
		writer.write( " >\n" ); 
	}
	/**
	 * Handle output general definitions for a control
	 *