I need to create a drop down menu in struts2 from List. How can I create an action class so that when a .jsp page is loaded, it populates the list first?
i found this link http://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/ , it works too but for it work user must go to http://localhost:8080/Struts2Example/selectAction.action to make it work but what if someone were to directly go to select.jsp.
Since you’re using a .jsp, you could load the dropdown with a scriptlet before you render the
<s:select>tag.However, it’s better practice to allow the action to perform the loading and hide the .jsp files under /WEB-INF so they’re not directly accessible. A common approach to perform this is the Prepare interceptor.
If you’ve got it in your interceptor stack, it will automatically invoke any method with the following name in your action before invoking the requested method:
That means you can do something like the following in your Action:
Then all you have to do is call your action’s view() method and prepare will be called first by Struts.