Sure! I have created an user at jira, but I think I dont have permissions to open a new issue. Or am I in the wrong place? :)
Felipe Lorenz Em 27/06/2013, às 03:11, Lukasz Lenart escreveu: > Thanks Felipe! > > I think we must extend RestActionProxyFactory to also add exclude list > of namespaces, eg. "/ajax,/login", thus will allow to work in your > configuration. > > Could you register an issue? > > > Thanks in advance > -- > Łukasz > + 48 606 323 122 http://www.lenart.org.pl/ > > 2013/6/26 Felipe Lorenz <felipe.lor...@idealogic.com.br>: >> Hi Lukasz, >> >> I could identify one plugin wich could be creating this behaviour, the rest >> plugin. >> >> >> Since I have this configuration: >>>> <constant name="struts.mapper.class" >>>> value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/> >>>> <constant name="struts.mapper.prefixMapping" >>>> value=":rest,/ajax:struts,/login:struts"/> >> >> >> I expect that, when I request the following url >> http://xxxxxxxxxxx.com/ajax/anyThingHere, struts should handle this call. >> But instead, RestActionProxyFactory is handle this call. >> >> But the RestActionProxyFactory class has a if, and every time the namespace >> attribute is injected with "/ajax" value. So the condition always is >> redirect to the rest plugin handler and not to the struts default. >> >> Here is my ActionProxyFactory implementation: >> >> public class CustomActionProxyFactory extends RestActionProxyFactory { >> >> @Override >> public ActionProxy createActionProxy(String namespace, String >> actionName, String methodName, Map<String, Object> extraContext, boolean >> executeResult, boolean cleanupContext) { >> RestActionProxyFactory p = new RestActionProxyFactory(); >> p.setContainer(container); >> if ("/ajax".equals(namespace)) { >> p.setNamespace("/idealogic"); >> } >> >> return p.createActionProxy(namespace, actionName, methodName, >> extraContext, executeResult, cleanupContext); >> } >> } >> >> By some reason, it fixed the origin behaviour. >> >> I hope it could help you. >> >> Thanks, >> Felipe Lorenz >> >> Em 26/06/2013, às 04:45, Lukasz Lenart escreveu: >> >>> As I understand you use <s:action executeResult="false"/> ? Which >>> means result named "json" shouldn't be executed, you can even remove >>> it. >>> >>> >>> Regards >>> -- >>> Łukasz >>> + 48 606 323 122 http://www.lenart.org.pl/ >>> >>> 2013/6/22 Felipe Lorenz <felipe.lor...@idealogic.com.br>: >>>> Hello Lukasz, >>>> >>>> I still facing this behaviour. Even with 2.3.16-SNAPSHOT. >>>> >>>> One thing that make me thing, was the flush attribute. When it is true, >>>> the json result (the string) appear in the position where the action tag >>>> is in the jsp. But, when I change it to false, the result appears in the >>>> top os my page. >>>> >>>> One workaround that I can use is return a result name that is no defined >>>> in the struts.xml. This workaround throw an exception, since struts could >>>> no find my result name, but my list is populated and no result from this >>>> action tag appear in my page. >>>> >>>> I hope this information can help. >>>> >>>> Also, I am printing my config: >>>> >>>> struts.xml: >>>> >>>> <?xml version="1.0" encoding="UTF-8" ?> >>>> <!DOCTYPE struts PUBLIC >>>> "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" >>>> "http://struts.apache.org/dtds/struts-2.3.dtd"> >>>> <struts order="10"> >>>> <constant name="struts.devMode" value="false" /> >>>> <constant name="struts.action.extension" value=",json,xhtml,xml"/> >>>> >>>> <constant name="struts.convention.action.mapAllMatches" value="true" >>>> /> >>>> <constant name="struts.convention.default.parent.package" >>>> value="default"/> >>>> >>>> <constant name="struts.custom.i18n.resources" value="global" /> >>>> >>>> <constant name="struts.mapper.class" >>>> value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/> >>>> <constant name="struts.mapper.prefixMapping" >>>> value=":rest,/ajax:struts,/login:struts"/> >>>> >>>> <package name="default" extends="rest-default"> >>>> >>>> <interceptors> >>>> <interceptor >>>> class="br.com.idealogic.interceptor.LoginInterceptor" name="login"/> >>>> <interceptor >>>> class="br.com.idealogic.interceptor.PermissaoInterceptor" >>>> name="permissao"/> >>>> <interceptor >>>> class="br.com.idealogic.interceptor.I18nInterceptor" name="idioma"/> >>>> <interceptor >>>> class="br.com.idealogic.interceptor.JPAInterceptor" name="jpa"/> >>>> <interceptor-stack name="jpaStack"> >>>> <interceptor-ref name="login"/> >>>> <interceptor-ref name="permissao"/> >>>> <interceptor-ref name="idioma"/> >>>> <interceptor-ref name="jpa"/> >>>> <interceptor-ref name="restDefaultStack"/> >>>> </interceptor-stack> >>>> </interceptors> >>>> <default-interceptor-ref name="jpaStack"/> >>>> >>>> >>>> <default-action-ref >>>> name="login_sistema"></default-action-ref> >>>> >>>> <global-results> >>>> <result name="login">/login.jsp</result> >>>> <result name="forbidden">/forbidden.jsp</result> >>>> </global-results> >>>> >>>> </package> >>>> >>>> <include file="struts-ajax.xml"/> >>>> <include file="struts-login.xml"/> >>>> <include file="struts-filtro.xml"/> >>>> </struts> >>>> >>>> struts-ajax.xml >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <!DOCTYPE struts PUBLIC >>>> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" >>>> "http://struts.apache.org/dtds/struts-2.0.dtd"> >>>> <struts> >>>> <package name="ajax" extends="json-default" namespace="/ajax"> >>>> <interceptors> >>>> <interceptor >>>> class="br.com.idealogic.interceptor.JPAInterceptor" name="jpa"/> >>>> <interceptor-stack name="jpaJsonStack"> >>>> <interceptor-ref name="jpa"/> >>>> <interceptor-ref >>>> name="jsonValidationWorkflowStack"/> >>>> </interceptor-stack> >>>> </interceptors> >>>> <default-interceptor-ref name="jpaJsonStack"/> >>>> >>>> >>>> <action name="loadCidadeByEstado" >>>> method="loadCidadeByEstado" >>>> class="br.com.seedingControl.action.CidadeAction"> >>>> <result name="json" type="json"> >>>> <param name="includeProperties"> >>>> ^cidades\[\d+\]\.idCidade, >>>> ^cidades\[\d+\]\.nmCidade >>>> </param> >>>> </result> >>>> </action> >>>> >>>> </package> >>>> </struts> >>>> >>>> Thanks for all your help! >>>> >>>> Felipe Lorenz >>>> >>>> Em 22/06/2013, às 04:27, Lukasz Lenart escreveu: >>>> >>>>> 2013/6/22 Litman, Bruno <blit...@alabamainteractive.org>: >>>>>> We are also experiencing issues with tags and theme files, we are >>>>>> upgrading many applications from 2.3.4.1 to 2.3.14.3 >>>>>> I am not sure if this is related - if not and if I need to start a new >>>>>> discussion please let me know and accept my apology. >>>>>> >>>>>> 1/ >>>>>> >>>>>> We previously always coded forms as : >>>>>> <s:form action="login" namespace="/">.... >>>>>> Now randomly, this fails to generate the proper action url in the html >>>>>> (it is missing the '.action', which results in a 404 once you post the >>>>>> form) >>>>>> >>>>>> The only workaround we have found so far is to add the '.action' suffix >>>>>> to the s:form's action attribute. Before it was always added for us by >>>>>> struts. >>>>>> So now we are having success with >>>>>> <s:form action="login.action" namespace="/">... >>>>>> >>>>>> Is this expected behavior? Did this change recently? 2.3.4.1 is not so >>>>>> ancient.. >>>>> >>>>> No, it isn't - mainly a bug - Struts should add suffix for you, you >>>>> basically use the same action names as defined in struts.xml. This is >>>>> very strange, I have just tested with struts2-blank on Jetty and >>>>> suffix was there. Could you share more details about the config? >>>>> >>>>>> 2/ >>>>>> >>>>>> We are trying to replace the "required" attribute in the textfields with >>>>>> "requiredLabel" without success. Was the xhtml theme's ftl file >>>>>> "controlheader_core" updated to reflect the changes in the >>>>>> struts-tags.tld (requiredLabel replaced required)? >>>>> >>>>> You are right, it is bug :\ Please fill an issue >>>>> >>>>>> Also, it seems applications are randomly serving ftl files from other >>>>>> applications' theme folders with the same name. >>>>>> This was demonstrated by modifying something obvious in one >>>>>> application's ftl file (displaying some text next to a text field's >>>>>> label), and the effect can be seen randomly on other applications which >>>>>> shouldn’t even see that application's template folder (the themes are >>>>>> however named the same in both applications) >>>>>> I am only able to make the "requiredLabel" attribute work if placed in a >>>>>> <s:param> tag as opposed to being just an attribute of the s:textfield >>>>>> tag, but even so it is still not always using the same ftl files >>>>>> (however always from similarly named themes placed inside each >>>>>> application) >>>>>> >>>>>> This is extremely confusing. Is FreeMarker caching files independently >>>>>> of the application? Is the app container interfering with caching? (We >>>>>> are using Resin 4.0.36) >>>>> >>>>> Hmmm... very strange behaviour, it will be hard to find the source of >>>>> the problem. Maybe it is related to new ContainerHolder and how Resin >>>>> is managing threads - but I'm not sure :\ >>>>> >>>>> >>>>> Regards >>>>> -- >>>>> Łukasz >>>>> + 48 606 323 122 http://www.lenart.org.pl/ >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org >