Class naming conventions
Actually #1 is called smurf naming (here is a question about it on Programmers.SE). 

One thing to consider: Do you have to work with more than one ViewOptions at the same time (or at the same source file)? If that's true having a more specific name would help. Two possible advantages of smurfier names:


There aren't multiple editor tabs with the same filename.
You don't have to use full package names to declare two ViewOptions in the same source file.


  So I made a DatatablesOptions class for the general usecase and if 
  I need additional fields I extend the DatatablesOptions class. 


Check Effective Java, Second Edition, Item 16: Favor composition over inheritance if you don't know already.
Try to format the code in a way which avoid unnecessary horizontal scrolling. It would make it esasier to read.
@RequestParam (value="iDisplayStart")int startLine,
@RequestParam (value="iDisplayLength")int linesPerPage,
@RequestParam (value="iSortCol_0")int columnToSort,
@RequestParam (value="sSearch", required = false) String     searchString,


Some of the parameters have a space between the closing parentheses (...false) String) , some of them doesn't (...th")int linesPerPage). You can find another inconsistencies too. It should be consistent. Modern IDEs have autoformat, they do a really good job here, use them.