Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.2.3
-
None
-
Windows XP SP3, Java SE 1.6.0_02 build 06, Apache tomcat 7.0.8
Description
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