I have the following on my page. I discovered that the action gets executed before the page loads without the s:link being clicked , is there a way i can avoid this
<s:link action="#{searchfactory.paginateSearch('forward')}">
</s:link>
Without knowing how your code looks like, my guess is that you have a @Factory annotation on your method. Thus since your EL expression matches it, it will run the method.
Remove the factory and it should work.
Or you should show some more code.