my dog learned polymorphism*
The moose likes Struts and the fly likes Difference between action and forward attribute in html:link tag Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Difference between action and forward attribute in html:link tag" Watch "Difference between action and forward attribute in html:link tag" New topic
Author

Difference between action and forward attribute in html:link tag

Despot Jakim
Greenhorn

Joined: Sep 09, 2008
Posts: 2
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!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Difference between action and forward attribute in html:link tag
 
Similar Threads
Problem with html:link forward="" tag
Problem forwarding to another page using struts.
help with module level struts config
Container-Managed Security
Tiles problem