public class NewValidator extends Action{    
    public  ActionForward execute(ActionMapping mapping,
     DynaActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
        System.out.println(" HttpServletRequest U serInfoAction");       
        String userName = (String)form.get("userName");    
        System.out.println("userName="+userName);
           return mapping.findForward("userinfor");
    
    }页面:
<form name="actionForm" action="NewValidator.do">
 <form-beans>
<form-bean name="duserForm" type="org.apache.struts.action.DynaActionForm">  
<form-property name="userName" type="java.lang.String"/>
<form-property name="userId" type="java.lang.String"/> 
</form-bean> 

  <action   path="/NewValidator"
       type="src.validate.NewValidator" 
           name="duserForm" 
          。
      </action>
怎么一提交什么都没有,根本没有进到NewValidator 的execute方法里啊

解决方案 »

  1.   

    public  ActionForward execute(ActionMapping mapping,
         DynaActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)throws Exception{
            System.out.println(" HttpServletRequest U serInfoAction");       
            String userName = (String)form.get("userName");    
            System.out.println("userName="+userName);
               return mapping.findForward("userinfor");
        
        }
    这样可以吗?我只知道
    public  ActionForward execute(ActionMapping mapping,
         ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)throws Exception{
            System.out.println(" HttpServletRequest U serInfoAction");       
            String userName = (String)((DynaActionForm)form).get("userName");    
            System.out.println("userName="+userName);
               return mapping.findForward("userinfor");
        
        }
      

  2.   

    楼上正解,先要做这一步 DynaActionForm Dyform = (DynaActionForm) form;如果还不行就看看这样子:
    <form name="actionForm" action="/NewValidator">
      

  3.   

    对,<form name="actionForm" action="NewValidator.do">
    改为<form name="actionForm" action="/NewValidator.do">
      

  4.   

    传进的参数已经是DynaActionForm 了
    页面<form name="actionForm" action="NewValidator.do">
    在不是动态的时候可以正常执行
      

  5.   

    <form name="actionForm" action="/NewValidator.do">
    <form name="actionForm" action="/NewValidator">
    报错
      

  6.   

    恩,可以了,我的方法弄错了
    ActionMapping mapping,
         DynaActionForm form,
                HttpServletRequest request,
                HttpServletResponse response
    这样是不对的,应该是ActionForm form,
    然后用
    galant2008(無賴) 的方法
    DynaActionForm Dyform = (DynaActionForm) form;
    可以了,谢谢各位