Thanks Martin, it was getting to the correct action class buy it was not using 
the result I defined in the action.  It was going to its own result 
implementation based on the fact that I am requesting an application/json data 
type.  I found out that if I add ".action" to the url it processes everything 
correctly and goes to the correct result.  I am not sure if that is the 
intended behavior, a setup issue on my part, or a bug?

-----Original Message-----
From: Martin Gainty [] 
Sent: Tuesday, September 20, 2016 2:24 PM
To: Struts Users Mailing List <>
Subject: RE: Struts2 Rest Mapper Taking Over Non Rest Json Result

to control navigation why not map it?<action name="grid/*" 
className="org.healthsmart.NonRestfulAction">    <param name="id">{1}</param>   
GET: /grid/method="index"when you reference /grid/ struts will call 
org.healthsmart.NonRestfulAction index method

============or use DMI============
<package name="default" extends="struts-default" 
  <action name="grid" class="org.healthsmart.NonRestfulAction">        <result 
name="success">/WEB-INF/content/hello.jsp</result>        <result 
name="redisplay" type="redirectAction">hello</result>        
<allowed-methods>add</allowed-methods>    </action>
I would check struts.mapper.prefixMapping for normal "rest prefixMapping vs 
struts prefixMapping" 
if that looks ok as a last result you can implement a custom mapper which will 
read the URL and redirect to correct class 

> From:
> To:
> Subject: Struts2 Rest Mapper Taking Over Non Rest Json Result
> Date: Tue, 20 Sep 2016 15:28:42 +0000
> This was also posted to stackoverflow and relevant config information can be 
> seen in the post: 
> I am working with the DataTables JS library and am trying to write actions 
> for the grid. I have a api in place that creates the json for me already and 
> I just need to stream it back. I created a custom result to handle this, but 
> the result mapped in the action never runs. No matter what the result type, 
> the REST mapper tries to handle it as soon as it sees that application/json 
> has been requested from the client. I have used the prefix mapping in the 
> configuration to have all url's using /grid to bypass the rest mapper. It 
> seems to be working in some capacity because it runs the correct interceptor 
> stack and is using the @Action annotation information to map the url. 
> However, the result specified is NOT running and is instead being provided by 
> the rest mapper based on the stack trace I am receiving. I would like to 
> completely bypass the rest mapper for any actions in the /grid namespace. 
> Have I done something wrong in the configuration that is still causing rest 
> to be involved in the request to those actions?
> Paul R. Zepernick
> Sr. Programmer Analyst
> Disclaimer: This communication and any files transmitted with it may contain 
> information that is privileged, confidential and/or exempt from disclosure 
> under applicable law. If you are not the intended recipient, you are hereby 
> notified that any disclosure, copying, distribution, or use of the 
> information contained herein (including any reliance thereon) is strictly 
> prohibited. If you received this communication in error, please immediately 
> contact the sender and destroy the material in its entirety, whether in 
> electronic or hard copy format. Thank you.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

Reply via email to