Struts中的dispatchAction类

默认情况下配置文件调用Action中的excute()方法。 但是,此action不能够自定义方法,如果Action是继承DispatchAction类,就可以通过设置method参数,来制定调用Action类中的某一个方法,不再局限为只能用excute()方法了,可以自定义方法。

方法:
1.在struts-config.xml配置文件中,修改<Action>配置,设置parameter的值为"method"
例:<action path="/telConsle"
 type="com.meng.action.TelConsleDispatch"  
  name="telForm"
scope="request"
validate="false"
parameter="method"/>
2.在JSP页面中,除了设置请求的Action以外,要通过设置参数method值来指明调用Action中的哪个方法。
例1:在URL中指明
http://localhost8080/tsss/telConsle.do?method=save
例2:在JSP页面中定义一个method的隐藏变量,指定它的值
<html:hidden property="method" value="save"/>
3.在被调用的Action类中,声明一个名称为save的方法
例:class TelConsleDispatch extends DispatchAction
{
public ActionForward save(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception
{
//这里是save的方法实现,省略。
}

}

说明:
在struts-config.xml配置文件中通过设置parameter的值为"method",指明ActionServlet在接收到页面的Action请求后,会根据method变量的值(这里是save),去对应的Action类中寻找同名的方法来执行(这里就是调用TelConsleDispatch类中的save方法)。而method属性的值就通过步骤2中的2种方法传给ActionServlet。

你可能感兴趣的:(html,jsp,xml,struts)