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?

Reply via email to