package bean;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import user.UploadForm;public class AddRemSubmitAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
String delete = ((UploadForm)form).getSubmitdelete(); 
String update= ((UploadForm)form).getSubmitupdate(); 
if(delete != null && delete.length() > 1){ 
((UploadForm)form).setSubmitdelete("");
return mapping.findForward("delete"); 



 if(update != null && update.length()>1) { 
((UploadForm)form).setSubmitupdate(""); 
 return mapping.findForward("update");





}}请教各位大神们,这个自定义Action类中的返回值应该是什么啊,retrun null 不正确

解决方案 »

  1.   

    直接返回一个 ActionForward 的实例
    public class AddRemSubmitAction extends Action{
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            // TODO Auto-generated method stub
            String delete = ((UploadForm)form).getSubmitdelete(); 
            String update= ((UploadForm)form).getSubmitupdate(); 
            if(delete != null && delete.length() > 1){ 
            ((UploadForm)form).setSubmitdelete("");        
            return mapping.findForward("delete"); 
            
            }         
            
             if(update != null && update.length()>1) { 
            ((UploadForm)form).setSubmitupdate(""); 
             return mapping.findForward("update");
            } 
            return new ActionFroward("修改,删除成功的一个页面的逻辑地址,在sturts-config.xml中配置的!");
            
            
            
        }}
      

  2.   

    这个代码不是很清楚吗?
         
            if(delete != null && delete.length() > 1){ 
               ((UploadForm)form).setSubmitdelete("");
               //满足条件:delete != null && delete.length() > 1,返回mapping.findForward("delete");      
               return mapping.findForward("delete");         
            }               
            if(update != null && update.length()>1) { 
            ((UploadForm)form).setSubmitupdate(""); 
                //条件 delete != null && delete.length() > 1 不成立时
               //update != null && update.length()>1 成立时,返回  mapping.findForward("update"); 
               return mapping.findForward("update");
            } 
            return null;
      

  3.   


    在if外面加个   return null;  不就可以了吗
      

  4.   

    你这是两个表单在一个action里吧
      

  5.   

    return mapping.findForward("update");这句话就返回值lz这个Action是更新、删除操作吧
      

  6.   

    public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            // TODO Auto-generated method stub
           //如果在该 FormBean还存在第3个第4个功能,楼主是否打算在formbean里面再加一个属性啊
           //可以只用一个属性比如functionData,在页面提交的时候,把属性的值设为你要操作的就好,比如:
           // form里面 <html:hidden name="formName" property="functionData"/>
           //提交前 document.formName.functionData.value = "update"; document.formName.submit();        String functionData= ((UploadForm)form).getFunctionData(); 
            String forwardURL = "error"; //默认转进error页面。
           //页面进来的时候要保证 delete 和 update只有一个值。
            if(functionData!= null && functionData.equals("delete")){ 
                 //do delete
                 ((UploadForm)form).setFunctionData("");        
                 forwardURL = "deleteURL" ; 
            }     
            if(functionData!= null && functionData.equals("update")) { 
                 //do update
                      ((UploadForm)form).setFunctionData(""); 
                     forwardURL = "updateURL" ; 
            }          return mapping.findForward(forwardURL );
        }
      

  7.   

    这个很简单,Google一下,可以解决的
      

  8.   

    需要一个返回值,配置了一个资源文件,引用资源文件判断,然后equals资源文件相对应的值,返回值还是有问题
      

  9.   

    struts1 的话,你应该继承dispatchAction 而不是继承Action。
    struts2 的话,更简单一点。
      

  10.   

    有可能两个判断都不成立,那样就没有findForward了  所以还要在最后加一句  return mapping.findForward(null );