日期:2014-05-17  浏览次数:20613 次

<s:textfield value="<%=decodeCurrentNodeName %>" /> 出现异常
异常:According to TLD or attribute directive in tag file, attribute value does not accept any expressions
异常指向行:
<% 
   String decodeCurrentNodeName = URLDecoder.decode(URLDecoder.decode(currentNodeName, "utf-8"),"utf-8");
%> 
<s:textfield readonly="true"  name="parentName" value="<%=decodeCurrentNodeName %>"  />
也就是value="<%=decodeCurrentNodeName %>"
当改成EL表达式value="%{decodeCurrentNodeName}"
text文本框为null,取不到值,
当改成struts2标签value='<s:property value="decodeCurrentNodeName"/>'
text文本框为<s:property value="decodeCurrentNodeName"/>

------解决方案--------------------
用<s:debug></s:debug>看一下decodeCurrentNodeName这个在都哪里存着。
<%=decodeCurrentNodeName %>应该可以啊
${decodeCurrentNodeName}
------解决方案--------------------
EL表达式是${}啊