If you're serious about JSP development ditch scriptlets (which went out of common use 10+ years ago) and familiarize yourself with the Java Standard Tag Libraries and JSP Expression Language.
I am not quite sure what 'special' is here, however using EL your code will look something like the below:
<!-- special is an object with a method getId()-->
<a href="new.jsp?id=${special.id}" class="action_button">Buy Now</a>
or
<!-- special is an object with a method getString(String key) -->
<a href="new.jsp?id=${special.getString('id')}" class="action_button">Buy Now</a>
If this doesn't work then there is no bean with key 'special' in any scope.
Note that if you are working with a database in your JSP you should consider refactoring to use the standard JSTL SQL tags. See below for an example:
http://www.tutorialspoint.com/jsp/jstl_sql_query_tag.htm
See also:
http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
http://beginnersbook.com/2013/11/jsp-expression-language-el/
*Note for the second example to work your app need to be compliant with the Servlet 3 specification (as passing mthod params was nut supported in EL before this). See further: https://stackoverflow.com/a/6337222/1356423