I am using a single taglib directive:

        <%@ taglib prefix="s" uri="/struts-tags" %>

Is there something else I need?  Also, I get the messages correctly if I
call the url directly, (not using an async call).

I will try the Firebug suggestion.




Musachy Barroso-2 wrote:
> 
> The ajax request is handled just like any other request (its 
> asynchronous nature is only related to the client). So whatever the 
> action outputs, it will be sent to the client and inserted inside the 
> div. Use Firebug to see what is the return of the ajax call, plus make 
> sure the jsp fragment has all the required taglib directives.
> 
> regards
> musachy
> 
> kedgecomb wrote:
>> I have been using the actionErrors and actionMessage features of Struts2
>> for
>> some time and they have worked well for providing user feedback, (e.g.;
>> "Business Center deleted successfully", "User already exists with this
>> ID",
>> etc.).  I add the error or the message in the action class like so:
>>
>>
>>     public String add() throws Exception {
>>      
>>      try {
>>              service.addUser(user);
>>              users = service.getAllUsers();
>>              
>>      } catch(PersistenceExistsException ee) {
>>              addActionError(getText("user.alreadyExists"));
>>              return Action.INPUT;
>>              
>>      } catch(PersistenceNotFoundException nfe) {
>>              this.addActionError(getText("global.unableToProcessRequest"));
>>              return Action.INPUT;
>>      }
>>      addActionMessage(getText("user.addSuccess"));
>>         return SUCCESS;
>>     }
>>
>> This had the effect of deleting a user, refreshing the list of all users,
>> and sending a success message if all went well.
>> If something went wrong, a descriptive error would be displayed just
>> above
>> the list of users.
>>
>> It worked well until I began to incorporate the AJAX tags into the mix. 
>> I
>> use a s:div to display the list of users:
>>
>> <tr>
>>      <td colspan="2">
>>              <s:div id="users" theme="ajax" href="userAdmin.do"
>> listenTopics="delete"
>>   
>>> loading...</s:div>
>>>     
>>      </td>
>> </tr>
>>
>> The JSP fragment that is returned to this div contains the list of users. 
>> This also worked well.  But the JSP also contains the actionError and
>> actionMessage tags:
>>
>> <tr>
>>      <td colspan="4" class="PageStatus">
>>              <font color="#FF0000"><s:actionerror/></font>
>>      </td>
>> </tr>
>> <tr>
>>      <td colspan="4" class="PageStatus">
>>              <font color="#00FF00"><s:actionmessage/></font>
>>      </td>
>> </tr>
>>
>> The problem is that these tags are never populated while using the AJAX
>> feature.  Neither errors nor messages are displayed at any time.  If I
>> use
>> the same url that the s:div tag uses, and key it into the browser
>> address,
>> the row is added or deleted and the message displays correctly, (using
>> the
>> exact same jsp).  When I use an ajax link:
>>
>> <s:url id="removeUrl" action="removeUser">
>>      <s:param name="userId" value="userId" />
>> </s:url>
>> <s:a href="%{removeUrl}" theme="ajax" notifyTopics="delete" ><s:text
>> name="global.delete"/></s:a>
>>
>> the correct user is deleted, the div is refreshed with the new list of
>> users, but no message displays.
>>
>>
>> Are the message tags handled differently when using AJAX?
>>
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Mixing-Struts2-ajax-functions-with-actionErrors-and-actionMessages-tf3222408.html#a8950953
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