Try to send the most minimal as possible data to the client, consider you might cause massive delays and "slow script popups" on the browser if you send large amount of data.
A good approach is to paginate the data you want to show. So for example you would show a fixed amount of data and then when user scrolls or clicks a button then it will retrieve from the server the next set of data to display.
Pure Java is not written for client side , although there are frameworks such as GWT that will allow you to write Java for the client side, however the client side Java code will be translated to JavaScript during compilation.
Finally, paginating approaches should be available to provide best user experiences on professional UI frameworks.