取值要通過<s:property value="" />或在任意的<s:/>標簽內使用%{};
當Action的valueStack中有該屬性的值時,只需直接使用該屬性的名字即可;
當Action的valueStack中沒有該屬性的值時,比如在session,application范圍中的屬性值時,需要加#或者#attr.;
例子:
假設某Action中有person成員變量,在application中存在company屬性
那么我們可以通過以下方法取值:
<s:property value="person.name" />
<s:property value="#person.name" />
<s:property value="company.name" /> //無法取到,因為company不在action的valueStack中
<s:property value="#company.name" />
<s:textfield name="person.name" value="person.name" /> //錯誤,value會直接顯示person.name字樣
<s:textfield name="person.name" value="%{person.name}" />
<s:textfield name="person.company.name" value="%{#company.name}" />
<s:textfield name="person.company.name" value="%{#attr.company.name}" />