action中对于actionform的传递

action中对于actionform的传递

public  ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
{

// ***********

  DynaValidatorForm f
= (DynaValidatorForm) form;

  String a
= (String) f.get( " A " );   

  String b
= (String) f.get( " B " );   

// ***********

}

对于上面的actionform的传递,本来以为一定要通过提交<html:form.../>才能接收的,后来发现其实通过参数的传递也可以实现。

例如上面的actionform, 如果有2个field, 分别是A和B, 如果不通过提交form的方法,直接用带参数的连接表示, 那么通过这个做法也可以正确的用f.get(..)方法得到数值. 

http://localhost:8080/app/myaction.do?A=abc&B=def

由此可见,如果分别3个页面page a, page b and page c. page a中有一个form, 提交后产生page b, 对page b中的链接提交后产生page c. 那么page b 和 page c 可以通过一个action来实现, 只要保证page b中关于action的连接后面加的参数名字和actionform的field名字一致就可以了。

468c05860200007v.jpg

你可能感兴趣的:(action中对于actionform的传递)