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').action<http://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.action">click</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? > >> >> > >> > > >> > > >> > > >> > -- > >> > С уважением, Александр. > >> > > > > > > > > -- > > С уважением, Александр. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > -- С уважением, Александр.