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();
}
}