SlideShare une entreprise Scribd logo
1  sur  46
Struts 2.0 Don Brown
Web, Circa 2000
Web, Circa 2006
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Struts 2 Architecture
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts Plugins
Simple Example
Struts 1 < html:errors /> < html:form  action = &quot;/SaveMeeting&quot; > < table  border = &quot;0&quot;  width = &quot;100%&quot; > < tr > < th  align = &quot;right&quot; > Name: </ th > < td  align = &quot;left&quot; > < html:text  property = &quot;name&quot;  size = ”50”  /> </ td > </ tr > < tr > < th  align = &quot;right&quot; > Date:
</ th > < td  align = &quot;left&quot; > < html:text  property = &quot;date&quot;  size = &quot;50&quot; /> </ td > </ tr > < tr > < th  align = &quot;right&quot; > Invitees: </ th > < td  align = &quot;left&quot; > < html:select  property = &quot;invitees&quot; multiple = &quot;true&quot; > < html:options  collection = &quot;employees&quot;  property = &quot;value&quot; labelProperty = &quot;label&quot; /> </ html:select >
</ tr > < tr > < th  align = &quot;right&quot; > Description: </ th > < td  align = &quot;left&quot; > < html:textarea  property = &quot;description&quot; rows = &quot;4&quot;  cols = &quot;50&quot;  /> </ td > </ tr > < tr > < td  align = &quot;right&quot; > &nbsp; </ td >
... Only four pages! < td  align = &quot;left&quot; > < html:submit  property = &quot;DO_SUBMIT&quot; > Save </ html:submit > </ td > </ tr > </ table > </ html:form >
Struts 2 < s:form  action = &quot;Meeting&quot;  validate = &quot;true&quot; > < s:token  /> < s:textfield  label = ”Name”  name = “name” /> < s:textfield   label = ”Date&quot;   name = &quot;date&quot; /> < s:select  label = ”Invitees”  name = &quot;invitees&quot;   list = &quot;employees&quot; /> < s:textarea   label = ”Description” n ame = &quot;description&quot;   rows = &quot;4&quot;   cols = &quot;50&quot;   /> < s:submit   value = ”Save&quot;   method = &quot;save&quot; /> </ s:form >
Example Revisited
<s:textfield label=&quot;Name&quot; name=&quot;name&quot;   tooltip = &quot;Meeting name&quot;   />
< s:datepicker   label=&quot;Date&quot; name=&quot;date&quot;/>
< s:optiontransferselect  ...  />
< jsp:include  page = &quot;/ajax/commonInclude.jsp&quot; /> ... <s:textarea   theme = &quot;ajax&quot;   label=&quot;Description&quot;  name=&quot;description&quot; rows=&quot;4&quot; cols=&quot;50&quot; />
But there's more . . .
Brian Kernighan Law of Debugging Difficulty 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.
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 = &quot;editGangster&quot;  class = &quot;org.apache.struts2.s1.Struts1Action&quot; > < param  name = &quot;className&quot; > 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

Contenu connexe

Tendances

Tendances (17)

Quick Referance to WML
Quick Referance to WMLQuick Referance to WML
Quick Referance to WML
 
JWU Guest Talk: JavaScript and AJAX
JWU Guest Talk: JavaScript and AJAXJWU Guest Talk: JavaScript and AJAX
JWU Guest Talk: JavaScript and AJAX
 
The Basics of (X)HTML Tags
The Basics of (X)HTML TagsThe Basics of (X)HTML Tags
The Basics of (X)HTML Tags
 
LAMP_TRAINING_SESSION_3
LAMP_TRAINING_SESSION_3LAMP_TRAINING_SESSION_3
LAMP_TRAINING_SESSION_3
 
New HTML5/CSS3 techniques
New HTML5/CSS3 techniquesNew HTML5/CSS3 techniques
New HTML5/CSS3 techniques
 
Lecture 2 - Comm Lab: Web @ ITP
Lecture 2 - Comm Lab: Web @ ITPLecture 2 - Comm Lab: Web @ ITP
Lecture 2 - Comm Lab: Web @ ITP
 
Class4
Class4Class4
Class4
 
Yeni Metin Belgesi (3)
Yeni Metin Belgesi (3)Yeni Metin Belgesi (3)
Yeni Metin Belgesi (3)
 
Front End on Rails
Front End on RailsFront End on Rails
Front End on Rails
 
Html
HtmlHtml
Html
 
Intro to Html 5
Intro to Html 5Intro to Html 5
Intro to Html 5
 
Using Forms in Share
Using Forms in ShareUsing Forms in Share
Using Forms in Share
 
Html
HtmlHtml
Html
 
Html Ppt
Html PptHtml Ppt
Html Ppt
 
HTML presentation for beginners
HTML presentation for beginnersHTML presentation for beginners
HTML presentation for beginners
 
Html 101
Html 101Html 101
Html 101
 
XHTML basics
XHTML basicsXHTML basics
XHTML basics
 

En vedette

En vedette (9)

Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)
 
El Mal existe ?
El Mal existe ?El Mal existe ?
El Mal existe ?
 
El Tren De La Vida
El Tren De La Vida El Tren De La Vida
El Tren De La Vida
 
Ajax
AjaxAjax
Ajax
 
Semillas
Semillas Semillas
Semillas
 
Workshop Sutdio3(1)
Workshop Sutdio3(1)Workshop Sutdio3(1)
Workshop Sutdio3(1)
 
Com Fer Una Entrada al blog
Com Fer Una Entrada al blogCom Fer Una Entrada al blog
Com Fer Una Entrada al blog
 
Heckscheiben
HeckscheibenHeckscheiben
Heckscheiben
 
Regeln
RegelnRegeln
Regeln
 

Similaire à We9 Struts 2.0

Similaire à We9 Struts 2.0 (20)

KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7
 
JSP Custom Tags
JSP Custom TagsJSP Custom Tags
JSP Custom Tags
 
Html tutorial
Html tutorialHtml tutorial
Html tutorial
 
Widgets Tools Keynote
Widgets Tools KeynoteWidgets Tools Keynote
Widgets Tools Keynote
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Lecture1 B Frames&Forms
Lecture1 B  Frames&FormsLecture1 B  Frames&Forms
Lecture1 B Frames&Forms
 
Tables and Forms in HTML
Tables and Forms in HTMLTables and Forms in HTML
Tables and Forms in HTML
 
Html tags
Html tagsHtml tags
Html tags
 
Forum Presentation
Forum PresentationForum Presentation
Forum Presentation
 
XML processing with perl
XML processing with perlXML processing with perl
XML processing with perl
 
HTML5 Web Forms
HTML5 Web FormsHTML5 Web Forms
HTML5 Web Forms
 
Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?
 
Java Script
Java ScriptJava Script
Java Script
 
Lecture3
Lecture3Lecture3
Lecture3
 
Lect_html1
Lect_html1Lect_html1
Lect_html1
 
Form Validation
Form ValidationForm Validation
Form Validation
 
HTML & CSS
HTML & CSSHTML & CSS
HTML & CSS
 
3 xml namespaces and xml schema
3   xml namespaces and xml schema3   xml namespaces and xml schema
3 xml namespaces and xml schema
 
Introduction to html
Introduction to htmlIntroduction to html
Introduction to html
 

Plus de wangjiaz

Zhanbin Web2.0
Zhanbin Web2.0Zhanbin Web2.0
Zhanbin Web2.0wangjiaz
 
U Co M Protocol
U Co M ProtocolU Co M Protocol
U Co M Protocolwangjiaz
 
Tt Seminar Taipei 9605(1)
Tt Seminar Taipei 9605(1)Tt Seminar Taipei 9605(1)
Tt Seminar Taipei 9605(1)wangjiaz
 
The New Iphone
The New IphoneThe New Iphone
The New Iphonewangjiaz
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)wangjiaz
 
Sxdylgn(1)
Sxdylgn(1)Sxdylgn(1)
Sxdylgn(1)wangjiaz
 
Struts Intro Course(1)
Struts Intro Course(1)Struts Intro Course(1)
Struts Intro Course(1)wangjiaz
 
S11flash(1)
S11flash(1)S11flash(1)
S11flash(1)wangjiaz
 
Role Play Exercises
Role Play ExercisesRole Play Exercises
Role Play Exerciseswangjiaz
 
Recruit(1)
Recruit(1)Recruit(1)
Recruit(1)wangjiaz
 
web 2.0 class notes
web 2.0 class notesweb 2.0 class notes
web 2.0 class noteswangjiaz
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)wangjiaz
 
Xzzx20060302 1
Xzzx20060302 1Xzzx20060302 1
Xzzx20060302 1wangjiaz
 
Flashch2(1)
Flashch2(1)Flashch2(1)
Flashch2(1)wangjiaz
 

Plus de wangjiaz (20)

Zhanbin Web2.0
Zhanbin Web2.0Zhanbin Web2.0
Zhanbin Web2.0
 
U Co M Protocol
U Co M ProtocolU Co M Protocol
U Co M Protocol
 
Tt Seminar Taipei 9605(1)
Tt Seminar Taipei 9605(1)Tt Seminar Taipei 9605(1)
Tt Seminar Taipei 9605(1)
 
The New Iphone
The New IphoneThe New Iphone
The New Iphone
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
Sxdylgn(1)
Sxdylgn(1)Sxdylgn(1)
Sxdylgn(1)
 
Struts Intro Course(1)
Struts Intro Course(1)Struts Intro Course(1)
Struts Intro Course(1)
 
Sjjz6(1)
Sjjz6(1)Sjjz6(1)
Sjjz6(1)
 
Sjjz5(1)
Sjjz5(1)Sjjz5(1)
Sjjz5(1)
 
S11flash(1)
S11flash(1)S11flash(1)
S11flash(1)
 
Role Play Exercises
Role Play ExercisesRole Play Exercises
Role Play Exercises
 
Recruit(1)
Recruit(1)Recruit(1)
Recruit(1)
 
114
114114
114
 
web 2.0 class notes
web 2.0 class notesweb 2.0 class notes
web 2.0 class notes
 
Yxch
YxchYxch
Yxch
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)
 
Xzzx20060302 1
Xzzx20060302 1Xzzx20060302 1
Xzzx20060302 1
 
Xcz
XczXcz
Xcz
 
Kj Chap01
Kj Chap01Kj Chap01
Kj Chap01
 
Flashch2(1)
Flashch2(1)Flashch2(1)
Flashch2(1)
 

Dernier

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

We9 Struts 2.0

  • 4.  
  • 5.  
  • 6.  
  • 7.  
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14.  
  • 15.  
  • 16.  
  • 17.  
  • 19.
  • 22. Struts 1 < html:errors /> < html:form action = &quot;/SaveMeeting&quot; > < table border = &quot;0&quot; width = &quot;100%&quot; > < tr > < th align = &quot;right&quot; > Name: </ th > < td align = &quot;left&quot; > < html:text property = &quot;name&quot; size = ”50” /> </ td > </ tr > < tr > < th align = &quot;right&quot; > Date:
  • 23. </ th > < td align = &quot;left&quot; > < html:text property = &quot;date&quot; size = &quot;50&quot; /> </ td > </ tr > < tr > < th align = &quot;right&quot; > Invitees: </ th > < td align = &quot;left&quot; > < html:select property = &quot;invitees&quot; multiple = &quot;true&quot; > < html:options collection = &quot;employees&quot; property = &quot;value&quot; labelProperty = &quot;label&quot; /> </ html:select >
  • 24. </ tr > < tr > < th align = &quot;right&quot; > Description: </ th > < td align = &quot;left&quot; > < html:textarea property = &quot;description&quot; rows = &quot;4&quot; cols = &quot;50&quot; /> </ td > </ tr > < tr > < td align = &quot;right&quot; > &nbsp; </ td >
  • 25. ... Only four pages! < td align = &quot;left&quot; > < html:submit property = &quot;DO_SUBMIT&quot; > Save </ html:submit > </ td > </ tr > </ table > </ html:form >
  • 26. Struts 2 < s:form action = &quot;Meeting&quot; validate = &quot;true&quot; > < s:token /> < s:textfield label = ”Name” name = “name” /> < s:textfield label = ”Date&quot; name = &quot;date&quot; /> < s:select label = ”Invitees” name = &quot;invitees&quot; list = &quot;employees&quot; /> < s:textarea label = ”Description” n ame = &quot;description&quot; rows = &quot;4&quot; cols = &quot;50&quot; /> < s:submit value = ”Save&quot; method = &quot;save&quot; /> </ s:form >
  • 28. <s:textfield label=&quot;Name&quot; name=&quot;name&quot; tooltip = &quot;Meeting name&quot; />
  • 29. < s:datepicker label=&quot;Date&quot; name=&quot;date&quot;/>
  • 31. < jsp:include page = &quot;/ajax/commonInclude.jsp&quot; /> ... <s:textarea theme = &quot;ajax&quot; label=&quot;Description&quot; name=&quot;description&quot; rows=&quot;4&quot; cols=&quot;50&quot; />
  • 33. Brian Kernighan Law of Debugging Difficulty 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.
  • 36.  
  • 37.  
  • 38. Built-in Testing Support public class MyActionTest extends StrutsTestCase { public void testExecute() throws Exception { assertTrue(true); } }
  • 44. < action name = &quot;editGangster&quot; class = &quot;org.apache.struts2.s1.Struts1Action&quot; > < param name = &quot;className&quot; > com.mycompany.gangstas.EditGangsterAction </ param > < result > gangsterForm.jsp </ result > </ action > Run Struts 1 Actions as Is
  • 45. How do I get started?
  • 46. Where We are Going