Struts2自定义标签中并不能直接向标签传递一个动态的值,要得到这个动态值还要手工作一些处理。
举例:封装一个标签,这个标签在显示前需要从Action取得一个参数,以便在后台生成这个标签前使用。
在页面内标签如下写法:
<cs:dbselect
name="channel"
dateParam='%{searchDate}'
cssClass="select_inline" >
标签生成时标签的后台并不能直接得到'%{searchDate}'的值,仅仅得到的是这个字符串
那么取值的工作还要我们自己来做,做法是:
在此标签的类DBSelectTag.java中用到这个参数前如下写法
if(dateParam.startsWith("%{") && dateParam.endsWith("}")) { dateParam = dateParam.substring(2, dateParam.length() - 1); dateParam = (String)this.getStack().findValue(dateParam); }