Thank you very much for the very prompt reply.

If it possible, then How would I differentiate between struts1 action
classes and struts2 action classes (apart from ActionSupport)?

Right now, I am trying to use struts2 action in the flow of struts1 action
classes.

How do I map action classes?

I have struts-config.xml and struts.xml. 

What would be the controller in this case? 

Please let me know ...

Thanks,
Sanday


Alberto A. Flores wrote:
> 
> Yes it is!
> 
> Sandy143 wrote:
>> Hello,
>> 
>> Can't we have the existing struts1 actions and struts2 actions in the
>> same
>> application?
>> 
>> I want to retain my existing web app which is using struts 1.2.8 and
>> tiles
>> 1.1
>> 
>> The new module in the same webapp, I would like to develop using struts2
>> .
>> 
>> Please let me know if this is something that is possible or not?
>> 
>> Thanks,
>> Sandy
>> 
>> 
>> sukritthareja wrote:
>>> Here are the steps for Migrating from Struts 1 to Struts 2. You are
>>> required to make changes in the below mentioned layers”
>>>
>>>
>>> 1.  JARs
>>>
>>> - Add Struts 2 JARs in WEB-INF/lib
>>>
>>>
>>> 2.  web.xml
>>>
>>>     - Add following elements to web.xml
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <web-app id="WebApp_ID" version="2.4"
>>>     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
>>>
>>>     <filter>
>>>         <filter-name>struts2</filter-name>
>>>         <filter-class> org.apache.struts2.dispatcher.FilterDispatcher
>>>         </filter-class>
>>>     </filter>
>>>
>>>     <filter-mapping>
>>>         <filter-name>struts2</filter-name>
>>>         <url-pattern>/*</url-pattern>
>>>     </filter-mapping>
>>>
>>>     <listener>
>>>       <listener-class>
>>>          org.springframework.web.context.ContextLoaderListener
>>>         </listener-class>
>>>     </listener>
>>>
>>>             
>>> </web-app>
>>>
>>> 3.  struts-config.xml
>>>
>>>     - Rename “struts-config.xml” to “struts.xml”. Technically, this file in
>>> Struts 2 is         more streamlined.  
>>>
>>>     A typical struts-config.xml file of Struts 1 looks like
>>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>>> <!DOCTYPE struts-config PUBLIC
>>> "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
>>> "http://struts.apache.org/dtds/struts-config_1_3.dtd ">
>>>
>>> <struts-config>
>>>     
>>>     <form-beans>
>>>   <form-bean name="MyClassForm" type="forms.MyClassForm">
>>>   </form-bean>
>>>     </form-beans>
>>>
>>>   <action-mappings>
>>> <action path="/MyClass" name="MyClassForm"   
>>> type="actions.MyClassAction" 
>>> validate="false">
>>>            <forward name="success" path="/Index.jsp"/>
>>>       </action>
>>>   </action-mappings>
>>>
>>>   <message-resources parameter="resources"/>
>>>
>>> </struts-config>
>>>
>>> -   Perform the following actions:
>>>
>>>
>>>
>>> a)  Replace DTD
>>> b)  Replace <struts-config> tag with <struts>
>>> c)  Include <include file="struts-default.xml"/>
>>> d)  Remove the <form-beans> element
>>> e)  Change <action-mappings> to <package name="hello-default"
>>> extends="struts-default">
>>> f)  Update each <action> element by
>>> -   Removing from <action> element, the “name” attribute.
>>> -   Changing the <action> “path” attribute to “name”
>>> -   Changing the <action> “type” attribute to “class”
>>> -   Changing the <forward> element into a <return> element
>>>
>>>        The new struts.xml now looks like
>>>
>>> <?xml version="1.0" encoding="UTF-8" ?>
>>> <!DOCTYPE struts PUBLIC
>>> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
>>> "http://struts.apache.org/dtds/struts-2.0.dtd ">
>>>
>>> <struts>
>>>
>>>     <include file="struts-default.xml"/>
>>>
>>>     <package name="hello-default" extends="struts-default">
>>>
>>>         <action name="MyClass" class="actions.MyClass">
>>>             <result>/Index.jsp</result>
>>>         </action>
>>>     
>>>     </package>
>>>
>>> </struts>
>>>
>>> 4.  Action Classes
>>>
>>> A typical ActionForm class in Struts 1 looks like
>>>
>>> import org.apache.struts.action.ActionForm;
>>>
>>> public class MyClassForm extends ValidatorForm {
>>>
>>>     private String field1;
>>>
>>>     public String getField1() {
>>>             return field1;
>>>     }
>>>
>>>     public void setField1(String field1) {
>>>             this.field1 = field1;
>>>     }
>>>
>>> }
>>>
>>> A typical Action class in Struts 1 looks like
>>>
>>> import javax.servlet.http.*;
>>> import org.apache.struts.action.*;
>>> public class MyClassAction extends Action {
>>>
>>>     public ActionForward execute(
>>>             ActionMapping mapping,
>>>             ActionForm form,
>>>             HttpServletRequest request,
>>>             HttpServletResponse response)
>>>             throws Exception {
>>>
>>>                     MyClassForm input = (MyClassForm) form;
>>>                     input.setField1(“Hello”);
>>>                     return mapping.findForward(“success”);
>>>     }
>>>     
>>> }
>>>
>>> a) Copy all the properties from the ActionForm class to the Action
>>> class,
>>> and remove the ActionForm class object completely. There is no
>>> ActionForm
>>> in Struts-2.
>>>
>>> b) Make your Action class to extend ActionSupport, instead of Action.
>>> While this is not mandatory, it is beneficial to do so because then any
>>> POJO can be used as an Action Object. Further we then will have access
>>> to
>>> predefined tokens such as SUCCESS and ERROR.
>>>
>>> c) The fileds are now a property of the only ActionSupport class. So the
>>> values can be set directly. The way of returning “success” can be
>>> modified
>>> to return Action.SUCCESS and return Action.ERROR
>>>
>>> The new Action class now looks like
>>>
>>>       
>>> import com.opensymphony.xwork2.ActionSupport;
>>>
>>> public class Hello extends ActionSupport {
>>>
>>>     public String execute() throws Exception {
>>>             setMessage(“Hello”);
>>>             return Action.SUCCESS;
>>>     }
>>>
>>>     private String field1;
>>>
>>>     public String getField1() {
>>>             return field1;
>>>     }
>>> public void setField1(String field1) {
>>> this.field1 = field1;
>>> }
>>>
>>>
>>> d). There is a special feature included in Struts 2 that gives the
>>> programmer a flexibility of invoking method other than execute(). This
>>> can
>>> be done by specifying the “method” attribute of <action> element inside
>>> file “struts.xml”.
>>>
>>> <?xml version="1.0" encoding="UTF-8" ?>
>>> <!DOCTYPE struts PUBLIC
>>> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
>>> "http://struts.apache.org/dtds/struts-2.0.dtd ">
>>>
>>> <struts>
>>>
>>>     <include file="struts-default.xml"/>
>>>
>>>     <package name="hello-default" extends="struts-default">
>>>
>>>         <action name="MyClass" class="actions.MyClass"                      
>>> method="myMethod">
>>>             <result>/Index.jsp</result>
>>>         </action>
>>>     
>>>     </package>
>>>
>>> </struts>
>>>
>>> 5.  JSPs
>>>
>>> A simple JSP in Struts 1 looks like 
>>>
>>> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"; %>
>>> <html>
>>>   <head>
>>>     <title>Hello!</title>
>>>   </head>
>>>   
>>>   <form action="submit.action" method="post">       
>>>     <body>
>>>     Name: <input type="text" name=" field1" /><br/>
>>>     <bean:write name="MyClassForm" property="field1" />
>>>     <input type="submit" />
>>>     </body>
>>>   </form>
>>> </html>
>>>
>>> - Actions to be performed in this JSP are:
>>>
>>> a)  Replace <%@ taglib %> directive
>>> b)  Use new set of tags defined by the struts-tags.tld
>>>
>>> The new JSP in Struts 2 would now look like
>>>
>>> <%@ taglib prefix="s" uri="/struts-tags" %>
>>> <html>
>>>   <head>
>>>     <title>Hello!</title>
>>>   </head>
>>>   <s:form action="submit.action" method="post"> 
>>>    <body>
>>>     <s:textfield label="Name" name=" field1" />
>>>     <s:property value="field1"/>
>>>     <s:submit" />
>>>     </body>
>>>   </s:form>
>>> </html>
>>>
>>>
>>> 6.  Validations
>>>
>>>  Struts 1 developers use the Apache Commons Validator framework to
>>> validate data. To enable validation, you must register the Validator
>>> plug-in in the struts-config.xml file, and then make sure your own
>>> ActionForms extend ValidatorForm instead of ActionForm. You can declare
>>> validation rules in a validations.xml file. For example, the
>>> validation.xml file you use states that a defect's description is
>>> required. The 'validate' method is invoked by the Action before saving a
>>> record. When the user does not provide a description, the Struts
>>> ActionErrors collection is populated and its contents displayed on the
>>> view page with the help of an <html:errors/> tag.
>>>
>>>  “validation.xml” file that validates a form, is described below:
>>>
>>> In Struts 2, we define validation in <ActionClassName>-validation.xml
>>> file. 
>>>
>>> For example, validations defined for MyClass-validation.xml are
>>>
>>> <validators>
>>>     <field name="field1">
>>>         <field-validator type="requiredstring">
>>>             <message key="requiredstring" />
>>>        </field-validator>
>>>   </field>
>>> </validators>
>>>
>>> Regards,
>>> Sukrit Thareja
>>>
>>> Nils-Helge Garli wrote:
>>>> The section about migration in the documentation [1] would be a good
>>>> place to start.
>>>>
>>>> [1] - http://struts.apache.org/2.0.11.1/docs/migration-guide.html
>>>>
>>>> Nils-H
>>>>
>>>> On Tue, Apr 22, 2008 at 1:17 AM, Lalchandra Rampersad
>>>> <[EMAIL PROTECTED]> wrote:
>>>>> How do I migrate from struts 1 to 2?
>>>>>
>>>>>
>>>>>
>>>>>  Saludos
>>>>>
>>>>>  Lalchandra Rampersaud
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>
>> 
> 
> -- 
> 
> Alberto A. Flores
> http://www.linkedin.com/in/aflores
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-- 
View this message in context: 
http://www.nabble.com/migration-from-struts-1-to-2-tp16819256p16945285.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to