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

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

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

4

1 回答 1

1

因为%{}OGNL 表示法,因此只能在 Struts 标记中使用。

另一个,在一个简单的 HTML 标记中,应该是一个 JSP EL 表示法,${}(或与整个<s:property />标记一起打印)。

BTW Struts 标记(和/或 JSTL 标记)通常比普通的 JSP EL 更受欢迎,原因有很多,包括安全性

PS:阅读此 SO 答案以更好地理解所涉及的几种符号。

于 2015-03-13T14:32:20.757 回答