struts 2.0

Post on 23-Feb-2016

52 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Struts 2.0

Don Brown

Web, Circa 2000

Web, Circa 2006

Struts 2 Architecture

Struts 1Action ActionForm ActionForward struts-config.xml

ActionServlet RequestProcessor

Struts 2ActionAction or POJO’sResultstruts.xmlFilterDispatcherInterceptors

Struts Plugins

Simple Example

<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:

Struts 1

</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>

</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>

...

Only four pages!

<td align="left"> <html:submit property="DO_SUBMIT"> Save </html:submit> </td></tr></table></html:form>

<s:form action="Meeting" validate="true"> <s:token /> <s:textfield label=”Name” name=“name” /> <s:textfield label=”Date" name="date"/> <s:select label=”Invitees” name="invitees" list="employees"/> <s:textarea label=”Description” name="description" rows="4" cols="50" /> <s:submit value=”Save" method="save"/></s:form>

Struts 2

Example Revisited

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

<s:datepicker label="Date" name="date"/>

<s:optiontransferselect ... />

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

But there's more . . .

Brian Kernighan Law of Debugging DifficultyDebugging 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.

Prevention and Cure

struts.devMode = true

Built-in Testing Support

public class MyActionTest extends StrutsTestCase {

public void testExecute() throws Exception {

assertTrue(true); }}

any.action?debug=console

any.action?profiling=yes

Time to Upgrade?

Tutorials, Guides, and FAQs

Struts 2 Training Course

<action name="editGangster" class="org.apache.struts2.s1.Struts1Action"> <param name="className"> com.mycompany.gangstas.EditGangsterAction </param> <result> gangsterForm.jsp </result></action>

Run Struts 1 Actions as Is

How do I get started?

Where We are Going

top related