Struts2: 无法从值堆栈中获取值

Struts2: Unable to fetch values from value stack

<s:property value="%{sourceName}"/>  
<input type="text" name="sourceName" size="40" maxlength="25000" id="sourceName" class="gray" value="%{sourceName}"/>

<s:property> 打印 sourceName 中存在的字符串,但无法将文本字段的值属性设置为 sourceName。

为什么我可以在某些地方访问值堆栈中的值,而在其他地方不能?

因为 %{} 是一个 OGNL notation,因此只能在 Struts 标签中使用。

另一个,在一个简单的 HTML 标签中,应该是一个 JSP EL 符号,${}(或者用整个 <s:property /> 标签打印)。

BTW Struts 标签(and/or JSTL 标签)通常比普通的 JSP EL 更受欢迎,因为不同的原因,including security.

P.S:阅读 this SO answer 以更好地理解所涉及的几个符号。