param标签用来把一个参数传递给包含着它的那个标签。
不管你在给出value属性值时有没有使用“%{”和“}”,Struts都会对它进行求值。例如,下面这个param标签的值是userName动作属性:
<s:param name="userName" value="userName"/>
它与下面这个标签是等价的:
<s:param name="userName" value="%{userName}"/>
如果想传递一个String类型的字符串作为参数值,必须把它用单引号括起来。例如,下面这个param标签的值是字符串“naoni”
<s:param name="userName" value="'naoni'"/>
我们还可以把value属性的值写在起始标签与结束标签之间。
<s:param name="userName">userName</s:param>
这个标签与上面的结果是等价的。这种写法还可以使用一个EL表达式,例如,下面代码将把当前主机名传递给host参数:
<s:param name="host">${header.host}</s:param>
而下面这样的写法就不行了:
<s:param name="host" value="${header.host}"/> <!-- 无效的。-->