strange behavior of s:a tag with s:include tag inside
Hello all. I have two files. test.jsp %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=depId value=1 scope=page/ s:a id=%{#attr.depId} href=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:a test2.jsp - %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=test value=1 scope=page/ 1 The result of call http://localhost:8080/myapp/test.jsp is: a id=1 href=javascript:some-javascript-method('')1/a as we can see, second evaluation of %{#attr.depId} is missing (must be javascript:some-javascript-method('1')). I cannot understand why it happens. But when I remove line s:set name=test value=1 scope=page/ from test2.jsp file and call again I receive correct result: a id=1 href=javascript:some-javascript-method('1')1/a Is this a bug or I do not understand something in Struts2?
Re: strange behavior of s:a tag with s:include tag inside
I've created test project (attached StrutsBugTest.war) in jira. In that project you can click to the link in index.html and see the same strange behavior. 1 июля 2011 г. 17:28 пользователь Dave Newton davelnew...@gmail.comнаписал: Unless the JSP is processed through an action, the original comment in the jira ticket is correct. Recall that a filter can stop processing a request, which is what happens if it's not a request that hits an action. Dave On Jul 1, 2011 8:59 AM, Александр Высоков nod...@gmail.com wrote: Hello all. I have two files. test.jsp %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=depId value=1 scope=page/ s:a id=%{#attr.depId} href=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:a test2.jsp - %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=test value=1 scope=page/ 1 The result of call http://localhost:8080/myapp/test.jsp is: a id=1 href=javascript:some-javascript-method('')1/a as we can see, second evaluation of %{#attr.depId} is missing (must be javascript:some-javascript-method('1')). I cannot understand why it happens. But when I remove line s:set name=test value=1 scope=page/ from test2.jsp file and call again I receive correct result: a id=1 href=javascript:some-javascript-method('1')1/a Is this a bug or I do not understand something in Struts2? -- С уважением, Александр.
strange behavior of s:a tag with s:include tag inside
Hello all. I have two files. test.jsp %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=depId value=1 scope=page/ s:a id=%{#attr.depId} href=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:a test2.jsp - %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=test value=1 scope=page/ 1 The result of call http://localhost:8080/myapp/test.jsp is: a id=1 href=javascript:some-javascript-method('')1/a as we can see, second evaluation of %{#attr.depId} is missing (must be javascript:some-javascript-method('1')). I cannot understand why it happens. But when I remove line s:set name=test value=1 scope=page/ from test2.jsp file and call again I receive correct result: a id=1 href=javascript:some-javascript-method('1')1/a Is this a bug or I do not understand something in Struts2?
Re: strange behavior of s:a tag with s:include tag inside
In attached in jira test-project (StrutsBugTest.war) index.html contains link: a href=test.actionclick/a Action mapping file contains: !DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.0//EN http://struts.apache.org/dtds/struts-2.0.dtd; struts package name=actions extends=struts-default action name=test method=test class=sviborg.TestAction result name=success/test.jsp/result /action /package /struts Result is the same - strange. May be we talking about different things. I think I do not understand you completely. 1 июля 2011 г. 19:27 пользователь Maurizio Cucchiara maurizio.cucchi...@gmail.com написал: As I said before, don't call jsp directly via browser: rather you need to invoke a struts action that, after looked at your action mapping configuration, forward the request to your final jsp Maurizio Cucchiara Il giorno 01/lug/2011 16.30, Александр Высоков nod...@gmail.com ha scritto: I've created test project (attached StrutsBugTest.war) in jira. In that project you can click to the link in index.html and see the same strange behavior. 1 июля 2011 г. 17:28 пользователь Dave Newton davelnew...@gmail.com написал: Unless the JSP is processed through an action, the original comment in the jira ticket is correct. Recall that a filter can stop processing a request, which is what happens if it's not a request that hits an action. Dave On Jul 1, 2011 8:59 AM, Александр Высоков nod...@gmail.com wrote: Hello all. I have two files. test.jsp %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=depId value=1 scope=page/ s:a id=%{#attr.depId} href=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:a test2.jsp - %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=test value=1 scope=page/ 1 The result of call http://localhost:8080/myapp/test.jsp is: a id=1 href=javascript:some-javascript-method('')1/a as we can see, second evaluation of %{#attr.depId} is missing (must be javascript:some-javascript-method('1')). I cannot understand why it happens. But when I remove line s:set name=test value=1 scope=page/ from test2.jsp file and call again I receive correct result: a id=1 href=javascript:some-javascript-method('1')1/a Is this a bug or I do not understand something in Struts2? -- С уважением, Александр. -- С уважением, Александр.
Re: strange behavior of s:a tag with s:include tag inside
So you try to tell me that in include's value must be only *.action? I think it is not. Documentation says that in include's value attribute may be JSP ( http://struts.apache.org/2.2.3/docs/include.html) And in examples almost everywhere is jsp-page in include... Strange... But I've tried your version. I've change test.jsp to: %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set var=depId value=1 scope=page/ s:a id=%{#attr.depId} action=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.action/ /s:a Add method to class sviborg.TestAction public String test2() { return SUCCESS; } Add action mapping to struts.xml: !DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.0//EN http://struts.apache.org/dtds/struts-2.0.dtd; struts package name=actions extends=struts-default action name=test method=test class=sviborg.TestAction result name=success/test.jsp/result /action action name=test2 method=test2 class=sviborg.TestAction result name=success/test2.jsp/result /action /package /struts and then, after clicking on a href=test.action/a I received this: a id=1 href=javascript:some-javascript-method('1').actionhttp://localhost:8080/StrutsBugTest/javascript:some-javascript-method('1').action /a Wrong again. No data in the a's body. I think it is completely wrong. And how it corellates with Maurizio Cucchiara's words about direct call of jsp by a browser. Include's value is called by a browser? It is not. Strange... By the way. I tried follows - I changed the s:a tag in test.jsp with s:div: %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set var=depId value=1 scope=page/ s:div id=%{#attr.depId} title=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:div and received CORRECT result: div id=1 title=javascript:some-javascript-method('1')1/div Completely strange. Please tell me the difference between this cases... 1 июля 2011 г. 23:49 пользователь Dave Newton davelnew...@gmail.comнаписал: But the include tag is still directly referencing a JSP, no? Dave On Friday, July 1, 2011, Александр Высоков nod...@gmail.com wrote: In attached in jira test-project (StrutsBugTest.war) index.html contains link: a href=test.actionclick/a Action mapping file contains: !DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.0//EN http://struts.apache.org/dtds/struts-2.0.dtd; struts package name=actions extends=struts-default action name=test method=test class=sviborg.TestAction result name=success/test.jsp/result /action /package /struts Result is the same - strange. May be we talking about different things. I think I do not understand you completely. 1 июля 2011 г. 19:27 пользователь Maurizio Cucchiara maurizio.cucchi...@gmail.com написал: As I said before, don't call jsp directly via browser: rather you need to invoke a struts action that, after looked at your action mapping configuration, forward the request to your final jsp Maurizio Cucchiara Il giorno 01/lug/2011 16.30, Александр Высоков nod...@gmail.com ha scritto: I've created test project (attached StrutsBugTest.war) in jira. In that project you can click to the link in index.html and see the same strange behavior. 1 июля 2011 г. 17:28 пользователь Dave Newton davelnew...@gmail.com написал: Unless the JSP is processed through an action, the original comment in the jira ticket is correct. Recall that a filter can stop processing a request, which is what happens if it's not a request that hits an action. Dave On Jul 1, 2011 8:59 AM, Александр Высоков nod...@gmail.com wrote: Hello all. I have two files. test.jsp %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=depId value=1 scope=page/ s:a id=%{#attr.depId} href=javascript:some-javascript-method('%{#attr.depId}') s:include value=test2.jsp/ /s:a test2.jsp - %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ taglib uri=/struts-tags prefix=s % s:set name=test value=1 scope=page/ 1 The result of call http://localhost:8080/myapp/test.jsp is: a id=1 href=javascript:some-javascript-method('')1/a as we can see, second evaluation of %{#attr.depId} is missing (must be javascript:some-javascript-method('1')). I cannot understand why it happens. But when I remove line s:set name=test value=1 scope=page/ from test2.jsp file and call again I receive correct result: a id=1 href=javascript:some-javascript-method('1')1/a Is this a bug or I do not understand something in Struts2? -- С
Re: strange behavior of s:a tag with s:include tag inside
Dave, if I expressed roughly, I am very sorry (my bad english is not good enough). But if I misunderstand you, please explain more details. Thank you. 2 июля 2011 г. 0:41 пользователь Dave Newton davelnew...@gmail.comнаписал: 2011/7/1 Александр Высоков nod...@gmail.com: So you try to tell me that in include's value must be only *.action? No, I don't. Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- С уважением, Александр.
Re: strange behavior of s:a tag with s:include tag inside
Do you mean s:url action=test2 var=ac/ s:include value=%{ac}/ ? Tried. Empty body of a tag. 2 июля 2011 г. 0:56 пользователь Dave Newton davelnew...@gmail.comнаписал: 2011/7/1 Александр Высоков nod...@gmail.com: Dave, if I expressed roughly, I am very sorry (my bad english is not good enough). Nope, you're doing great :) Try using a link to an action in the s:include tag instead of a plain JSP. For now you could just create a class-less action mapping that forwards to the JSP you're currently using. See if the behavior continues. Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- С уважением, Александр.