HTML Escaping действительно сложно сделать правильно - я бы определенно предложил использовать библиотечный код для этого, так как он намного более тонкий, чем вы думаете. Проверьте Apache StringEscapeUtils для довольно хорошей библиотеки для обработки этого в Java.