Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Difference between action and forward attribute in html:link tag

Status
Not open for further replies.

deksa

Programmer
Oct 2, 2008
1
DE
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!

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top