Firstly- Please dont use JSP for processing- its only used for View. You can use a Servlet to all the processing and send the final results to the JSP.
And coming back to your doubt- You cannot cast- ArrayList<String> to ArrayList<Domain>. An alternative is to loop through the List and then create each Domain instance and set it to the ArrayList. By the way- How does the Domain class look like?
You got to be creating One Domain object for each checked value. So the code at line 32 would move into the loop. And there should be some way to get the associated categoryId and domainId for that domainName. For that you can iterate through the domainList and obtain the required values and then