1 / 46

Struts 2.0

Don Brown. Struts 2.0. Web, Circa 2000. Web, Circa 2006. Struts 2 Architecture. Struts 1 Action  ActionForm  ActionForward  struts-config.xml  ActionServlet  RequestProcessor . Struts 2 Action Action or POJO’s Result struts.xml

vian
Download Presentation

Struts 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Don Brown Struts 2.0

  2. Web, Circa 2000

  3. Web, Circa 2006

  4. Struts 2 Architecture

  5. Struts 1 Action  ActionForm  ActionForward  struts-config.xml  ActionServlet  RequestProcessor  Struts 2 Action Action or POJO’s Result struts.xml FilterDispatcher Interceptors

  6. Struts Plugins

  7. Simple Example

  8. Struts 1 <html:errors/> <html:form action="/SaveMeeting"> <table border="0" width="100%"> <tr> <th align="right"> Name: </th> <td align="left"> <html:text property="name" size=”50” /> </td> </tr> <tr> <th align="right"> Date:

  9. </th> <td align="left"> <html:text property="date" size="50"/> </td> </tr> <tr> <th align="right"> Invitees: </th> <td align="left"> <html:select property="invitees" multiple="true"> <html:options collection="employees" property="value" labelProperty="label"/> </html:select>

  10. </tr> <tr> <th align="right"> Description: </th> <td align="left"> <html:textarea property="description" rows="4" cols="50" /> </td> </tr> <tr> <td align="right"> &nbsp; </td>

  11. ... Only four pages! <td align="left"> <html:submit property="DO_SUBMIT"> Save </html:submit> </td> </tr> </table> </html:form>

  12. Struts 2 <s:form action="Meeting" validate="true"> <s:token /> <s:textfield label=”Name” name=“name” /> <s:textfieldlabel=”Date"name="date"/> <s:select label=”Invitees” name="invitees"list="employees"/> <s:textarealabel=”Description” name="description" rows="4"cols="50"/> <s:submitvalue=”Save"method="save"/> </s:form>

  13. Example Revisited

  14. <s:textfield label="Name" name="name"tooltip="Meeting name"/>

  15. <s:datepickerlabel="Date" name="date"/>

  16. <s:optiontransferselect ... />

  17. <jsp:include page="/ajax/commonInclude.jsp"/> ... <s:textareatheme="ajax"label="Description" name="description" rows="4" cols="50" />

  18. But there's more . . .

  19. Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. Brian Kernighan Law of Debugging Difficulty

  20. Prevention and Cure

  21. struts.devMode = true

  22. Built-in Testing Support public class MyActionTest extends StrutsTestCase { public void testExecute() throws Exception { assertTrue(true); } }

  23. any.action?debug=console

  24. any.action?profiling=yes

  25. Time to Upgrade?

  26. Tutorials, Guides, and FAQs

  27. Struts 2 Training Course

  28. Run Struts 1 Actions as Is <action name="editGangster" class="org.apache.struts2.s1.Struts1Action"> <param name="className"> com.mycompany.gangstas.EditGangsterAction </param> <result> gangsterForm.jsp </result> </action>

  29. How do I get started?

  30. Where We are Going

More Related