1) there is one submit button on that page and one action is associated with that submit button. i can call the associated action class once the user finish the form and click the submit button. When user select from list i need to call another action class.
Basically, you'll require to have some variable which will be set to true if it is list-action and false if it is normal submit. Now, on the click of submit button you'll require to check for that variable and appropriately set your action.
But, this is not a good way and not robust and may crash in some situations. I suggest to use one action class to handle multiple action requests.
What I mean is that an action class is capable of responding to multiple action events. In the execute method you can handle multiple action requests with the help of if-else, switch or some condition block.
2) When user selects some value from list i need to refresh the page and populate the other fields.
I would like to know, Lets say there are ten values and user has selected third option, how to keep selected that third option as page is already refreshed?
For this when you are re-rendering the response, you'll require to set the property pertaining to the select box to the one that was originally selected.
e.g when you try to get what property was selected you say something like
So, while re-rendering you'll need to say-
This will work perfectly fine. But, I suggest you use AJAX for this for better user interface.