奇怪的s:url行为器

奇怪的s:url行为器,url,struts2,Url,Struts2,我只是觉得有点可笑,我无法解释。有人能解释一下吗 我已经在jsp文件中定义了一个url <s:url var="test" action="Home.action" escapeAmp="false"> <s:param name="departYear" value="2006"/> <s:param name="homeTown" value="lanzhou"/> </s:url> <p><s:propert

我只是觉得有点可笑,我无法解释。有人能解释一下吗

我已经在jsp文件中定义了一个url

<s:url var="test" action="Home.action" escapeAmp="false">
    <s:param name="departYear" value="2006"/>
    <s:param name="homeTown" value="lanzhou"/>
</s:url>
<p><s:property value="test"/></p>

结果是
/path/to/action/Home.action?departYear=2006
,如果我更改第二个参数
,那么它会正确地显示
/path/to/action/Home.action?departYear=2006&Home=123456
我没有尝试打印
url
,并且它总是可以使用更多参数。它根本没有引发任何问题。我只是好奇,为什么它不适用于
s:property

顺便说一句,我也改变了2个参数的顺序,它也没有在url中显示参数

提前感谢。

请参阅。。。它表示,
是一个对象,而不是字符串

将调用action类的
getLanland()
方法来尝试填充值

您需要的是

之所以有效,是因为非字符串属性类型不会被解析,而是直接作为表达式进行计算