1.I want to trigger an Action without a HTML form, but the struts config must use an ActionForm for an Action, How I could do that?
Struts is a "Web application Framework", which means that it it's for creating applications that use HTTP requests for triggering actions. If you want something else to trigger your actions, you may need to find that functionality in another tool or framework. Just out of curiosity, what do you want to trigger your actions?
2.I found if I use Struts in my project, the JSP's EL can't use, but sometimes I must use it, How to fix it, or Is there another way?
Using Struts does not disable EL. Any 2.4 web container will still support the use of EL regardless of whether you use Struts or not. Check the top of the web.xml file in your Struts application. I suspect that it may be using the DTD for Version 2.3 of the
Servlet Spec, rather than 2.4. Since 2.3 doesn't support EL except inside JSTL tags, this may be the reason your EL isn't working.
3.I want to fill the HTML form with the value I retrieve from database, How can I do that with struts?
If you will put the information you retrieve from a database into a javaBean that extends ActionForm and assign that bean to the action in the struts-config.xml file, Struts will populate the form automatically for you as long as you use the Struts <html:xxx> tags in the JSP that calls the action.
For example, if you have a CustomerForm bean with a property of customerName, Struts will display whatever is in that property if you code <html:text property="customerName" /> in your JSP.