You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by deksa <de...@yahoo.com> on 2008/10/02 16:30:00 UTC

Difference between action and forward attribute in html:link tag

Why is it, when I use html:link tag's action attribute, I get my form
validated on the initial view (for the first time) and if I use html:link
tag's forward attribute, I don't get that behaviour?

I am using Struts 1.3.8.
I am using modules
I am using Tiles
I am using Struts Validator
My folder structure looks like this:
WebContent/index.jsp
WebContent/employee/index.jsp
WEB-INF/struts-config-employee.xml
WEB-INF/struts-config.xml
WEB-INF/web.xml
WEB-INF/validation.xml
WEB-INF/tiles-defs.xml

This is the code when I use "forward" attribute:
index.jsp:

&#149; <html:link forward="viewAddEmployee"><bean:message
key="link.employee.add"/></html:link><br>

struts-config.xml:
<global-forwards>
<forward name="viewAddEmployee" path="/employee/admin/viewAddSearch.do" />
</global-forwards>


struts-config-employee.xml:
<action path="/admin/viewAddSearch" forward="addEmployee.page"/>

tiles-defs.xml:
<definition name="addEmployee.page" extends="main.layout">
    <put name="title"
        value="ABC, Inc. Human Resources Portal - Employee Search"/>
     <put name="body"   value="/employee/admin/addEmployee.jsp"/>
  </definition>

addEmployee.jsp:
<html:errors/>

When I run the application like this I don't get the validation on initial
run (this is ok - I want this).

But when I use the "action" attribute:
index.jsp:
&#149; <html:link action="/employee/admin/addEmployee"><bean:message
key="link.employee.add"/></html:link>

struts-config-employee.xml:

<action path="/admin/addEmployee"
type="org.jamesholmes.minihr.AddEmployeeAction" name="addEmployeeForm"
scope="request" validate="true" input="addEmployee.page">
</action>

tiles-defs.xml:
<definition name="addEmployee.page" extends="main.layout">
    <put name="title"
        value="ABC, Inc. Human Resources Portal - Employee Search"/>
     <put name="body"   value="/employee/admin/addEmployee.jsp"/>
  </definition>

addEmployee.jsp:
<html:errors/>

If you need the validation.xml I can send it too.
This way I get the validation done on the initial run. Can anyone explain to
me why? I guess I don't have to always use forward but I don't know how this
could be fixed.

Thanks in advance!
-- 
View this message in context: http://www.nabble.com/Difference-between-action-and-forward-attribute-in-html%3Alink-tag-tp19780417p19780417.html
Sent from the Struts - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Difference between action and forward attribute in html:link tag

Posted by Antonio Petrelli <an...@gmail.com>.
Please ask it to the Struts Users mailing list:
http://struts.apache.org/mail.html

Antonio

2008/10/2 deksa <de...@yahoo.com>:
>
> Why is it, when I use html:link tag's action attribute, I get my form
> validated on the initial view (for the first time) and if I use html:link
> tag's forward attribute, I don't get that behaviour?
>
> I am using Struts 1.3.8.
> I am using modules
> I am using Tiles
> I am using Struts Validator
> My folder structure looks like this:
> WebContent/index.jsp
> WebContent/employee/index.jsp
> WEB-INF/struts-config-employee.xml
> WEB-INF/struts-config.xml
> WEB-INF/web.xml
> WEB-INF/validation.xml
> WEB-INF/tiles-defs.xml
>
> This is the code when I use "forward" attribute:
> index.jsp:
>
> • <html:link forward="viewAddEmployee"><bean:message
> key="link.employee.add"/></html:link><br>
>
> struts-config.xml:
> <global-forwards>
> <forward name="viewAddEmployee" path="/employee/admin/viewAddSearch.do" />
> </global-forwards>
>
>
> struts-config-employee.xml:
> <action path="/admin/viewAddSearch" forward="addEmployee.page"/>
>
> tiles-defs.xml:
> <definition name="addEmployee.page" extends="main.layout">
>    <put name="title"
>        value="ABC, Inc. Human Resources Portal - Employee Search"/>
>     <put name="body"   value="/employee/admin/addEmployee.jsp"/>
>  </definition>
>
> addEmployee.jsp:
> <html:errors/>
>
> When I run the application like this I don't get the validation on initial
> run (this is ok - I want this).
>
> But when I use the "action" attribute:
> index.jsp:
> • <html:link action="/employee/admin/addEmployee"><bean:message
> key="link.employee.add"/></html:link>
>
> struts-config-employee.xml:
>
> <action path="/admin/addEmployee"
> type="org.jamesholmes.minihr.AddEmployeeAction" name="addEmployeeForm"
> scope="request" validate="true" input="addEmployee.page">
> </action>
>
> tiles-defs.xml:
> <definition name="addEmployee.page" extends="main.layout">
>    <put name="title"
>        value="ABC, Inc. Human Resources Portal - Employee Search"/>
>     <put name="body"   value="/employee/admin/addEmployee.jsp"/>
>  </definition>
>
> addEmployee.jsp:
> <html:errors/>
>
> If you need the validation.xml I can send it too.
> This way I get the validation done on the initial run. Can anyone explain to
> me why? I guess I don't have to always use forward but I don't know how this
> could be fixed.
>
> Thanks in advance!
> --
> View this message in context: http://www.nabble.com/Difference-between-action-and-forward-attribute-in-html%3Alink-tag-tp19780417p19780417.html
> Sent from the Struts - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org