Username? 2013/6/27 Felipe Lorenz <felipe.lor...@idealogic.com.br>: > 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 >> >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org