struct中action-mappings/action可以擁有set-property子標籤,這裏描述它的用法。
要使用action-mappings/action/set-property,需要編寫ActionMapping子類,並給action-mappings 標籤加上type屬性,屬性值就是我們編寫的字類。這樣當action的execute享有客戶操作時將得到我們編寫的ActionMapping事例。
我們編寫的ActionMapping要具有action-mappings/action/set-property所設置的所有屬性。如果action-mappings/action擁有set-property子標籤,那麼execute方法獲得的ActionMapping事例就擁有set-property所設置的屬性值。
例:
1.struts_config.xml
<action-mappings type="testActionMapping">
<action name="loginActionForm" path="/login" scope="request" type="testAction">
<set-property property="name" value="larrin" />
</action>
<action-mappings>
2.testActionMapping
public testActionMapping extends ActionMapping
{
....
private String name;
String getName(){return name;}
void setName(String val){name = val;}
...
}
3.testAction
public testAction extends Action
{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
{
testActionMapping testForm = (testActionMapping )actionForm;
String name = testForm.getName();
}
}