The application current architecure passes data between pages using JSTL. The objects are retrieved using JSTL ${param}. So far only HTML <form> elements are passsed on - i can access each element like ${param.cust_name}, where cust_name is a text item in the form tag on the first page. Now if I put a table in <FORM> element how will I access individual row/cols using JSTL?

And the answer is just like any other submitted parameter: via the param builtin variable. E.g. ${param.col1}.

I'm not sure what's confusing you here. Just because your form elements are arranged in a table in the originating HTML form makes no difference to anything, Upon submission, all request parameters just become a map of name/value pairs.