Thanks for your suggestion, i've tried but still no luck getting it works...
Any other suggestion?  Hope can get this solve ASAP...



"Koni" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> I would try the following two changes (see <---!!!!):
>
> In your performView{} method...
> ...
>      ActionErrors aes = new ActionErrors();
>      aes.add(
>       aes.GLOBAL_ERROR,
>       new ActionError("error.object.notfound", "AddrBook"));
>      saveErrors(request, aes);
>      if (__log.isErrorEnabled())
>      {
>       __log.error(" [ AddrBook ] Object not found");
>      }
>      return  new ActionForward(mapping.getInput());  <---!!!!
>     }
> ...
>
> In your struts-config.xml...
>
>      <action path="/AddrBook/view"
>        parameter="VIEW"
>          type="com.ilium.eapps.intmsg.controller.AddrBookAction"
>          scope="request"
>          name="addrBookForm"
>      validate="false"
>         input="/AddrBook/view.do">     <-- !!!!!
>        <forward name="success" path="manager.AddrBook.view" />
>        <forward name="cancel" redirect="true" path="/AddrBook/list.do" />
>      </action>
>
>
> This is what I do when I use the validation framework.
> See also
> http://jakarta.apache.org/struts/userGuide/dev_validator.html
>
> Good luck
> Koni
>
>
> >basebeans wrote:
> >> Yes, the ActionErrors() is in the Action class.
> >> I attached the following Action class for your references, tq!
> >>
> >>
> >>
> >> package com.ilium.eapps.intmsg.controller;
> >>
> >> import java.util.*;
> >> import org.apache.commons.logging.LogFactory;
> >> import org.apache.struts.action.*;
> >> import javax.rmi.PortableRemoteObject;
> >> import javax.naming.InitialContext;
> >> import javax.servlet.http.*;
> >> import com.ilium.eapps.syslib.model.*;
> >> import com.ilium.eapps.syslib.constants.*;
> >> import com.ilium.eapps.syswar.controller.*;
> >> import com.ilium.eapps.syswar.util.*;
> >> import com.ilium.eapps.intmsg.primKey.*;
> >> import com.ilium.eapps.intmsg.model.*;
> >> import com.ilium.eapps.intmsg.dao.*;
> >> import com.ilium.eapps.intmsg.constants.*;
> >> import com.ilium.eapps.intmsg.ejb.sb.*;
> >>
> >> public class AddrBookAction extends BaseLoginAction
> >> {
> >>  SBAddrBookHome homeAddrBook = null;
> >>  SBAddrBookRemote remoteAddrBook = null;
> >>
> >>  private IAddrBookDAO iAddrBookDAO;
> >>
> >>  private org.apache.commons.logging.Log __log =
> >>   LogFactory.getFactory().getInstance(this.getClass());
> >>  private static int PAGE_LENGTH = 20;
> >>  static {
> >>   ResourceBundle prop =
> >> ResourceBundle.getBundle("resources.application-intmsg");
> >>
> >>   try
> >>   {
> >>    PAGE_LENGTH = Integer.parseInt(prop.getString("list.page.length"));
> >>   }
> >>   catch (Exception e)
> >>   {
> >>   }
> >>  }
> >>
> >>  public boolean getEJB()
> >>  {
> >>   try
> >>   {
> >>    InitialContext ctx = new InitialContext();
> >>    Object objref = ctx.lookup(INTMSG_IJNDIName.SBAddrBook);
> >>    homeAddrBook =
> >>     (SBAddrBookHome) PortableRemoteObject.narrow(
> >>      objref,
> >>      SBAddrBookHome.class);
> >>
> >>    remoteAddrBook = homeAddrBook.create();
> >>    remoteAddrBook.setDbScheme(scheme);
> >>
> >>    return true;
> >>   }
> >>   catch (javax.naming.NamingException e)
> >>   {
> >>   }
> >>   catch (javax.ejb.CreateException e)
> >>   {
> >>   }
> >>   catch (java.rmi.RemoteException e)
> >>   {
> >>   }
> >>
> >>   return false;
> >>  }
> >>
> >>  public ActionForward executeAction(
> >>   ActionMapping mapping,
> >>   ActionForm form,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   ActionForward myforward = null;
> >>   String myaction = mapping.getParameter();
> >>
> >>   UserSession us = (UserSession)
> >> request.getSession().getAttribute(IAttrName.USER_SESSION);
> >>   scheme = us.getDbScheme();
> >>
> >>   if (isCancelled(request))
> >>   {
> >>    if (__log.isInfoEnabled())
> >>    {
> >>     __log.info(
> >>      " [ AddrBook ] "
> >>       + mapping.getAttribute()
> >>       + " - action was cancelled");
> >>    }
> >>    return mapping.findForward("cancel");
> >>   }
> >>   if (__log.isInfoEnabled())
> >>   {
> >>    __log.info(" [ AddrBook ] action: " + myaction);
> >>   }
> >>   if ("".equalsIgnoreCase(myaction))
> >>   {
> >>    myforward = mapping.findForward(FAILURE);
> >>   }
> >>
> >>   if (getEJB())
> >>   {
> >>    if ("VIEW".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performView(mapping, form, request, response);
> >>    }
> >>    else if ("EDIT".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performEdit(mapping, form, request, response);
> >>    }
> >>    else if ("ADD".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performAdd(mapping, form, request, response);
> >>    }
> >>    else if ("SAVE".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performSave(mapping, form, request, response);
> >>    }
> >>    else if ("REMOVE".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performRemove(mapping, form, request, response);
> >>    }
> >>    else if ("TRASH".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performTrash(mapping, form, request, response);
> >>    }
> >>    else if ("LIST".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performList(mapping, form, request, response);
> >>    }
> >>    else if ("LISTMAILUSR".equalsIgnoreCase(myaction))
> >>    {
> >>     myforward = performListMailUser(mapping, form, request, response);
> >>    }
> >>    else
> >>    {
> >>     myforward = mapping.findForward(FAILURE);
> >>    }
> >>   }
> >>   else
> >>   {
> >>    myforward = mapping.findForward(IAttrName.FAILURE);
> >>   }
> >>
> >>   return myforward;
> >>  }
> >>
> >>  private ActionForward performList(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   try
> >>   {
> >>    //System.out.println("***************** performList
****************");
> >>    int offset;
> >>    int length = PAGE_LENGTH;
> >>    String pageOffset = request.getParameter("pager.offset");
> >>    if (pageOffset == null || pageOffset.equals(""))
> >>    {
> >>     offset = 0;
> >>    }
> >>    else
> >>    {
> >>     offset = Integer.parseInt(pageOffset);
> >>    }
> >>
> >>    List AddrBookList = null;
> >>    String sUrlParam = "";
> >>    String sWhereClause = "";
> >>
> >>    if (request.getParameter("searchFld") != null
> >>     && !request.getParameter("searchFld").equals(""))
> >>    {
> >>     String condition = request.getParameter("searchFld");
> >>     AddrBookList =
> >>      remoteAddrBook.getList(
> >>       offset,
> >>       length,
> >>       "%" + condition + "%");
> >>     sWhereClause =
> >>      "WHERE abid LIKE '%" + condition + "%' ";
> >>     sUrlParam = "?searchFld=" + condition;
> >>    }
> >>    else
> >>     AddrBookList = remoteAddrBook.getList(offset, length);
> >>
> >>    String[] objKeys = { "AddrBook", "list" };
> >>    String objKey = CacheManager.createKey(objKeys);
> >>    String url =
> >>     request.getContextPath()
> >>      + "/intmsg"
> >>      + mapping.getPath()
> >>      + ".do"
> >>      + sUrlParam;
> >>
> >>    Integer size = (Integer) SizeCacheManager.getCache(objKey);
> >>    if (size == null)
> >>    {
> >>     size =
> >>      new Integer(
> >>       remoteAddrBook.getSize(
> >>        "ams012_oat_addrbook",
> >>        sWhereClause));
> >>     SizeCacheManager.putCache(size, objKey, 0); //no cache
> >>    }
> >>    String pagerHeader =
> >>     Pager.generate(offset, size.intValue(), length, url);
> >>    request.setAttribute("pagerHeader", pagerHeader);
> >>
> >>    request.setAttribute("ADDRBOOKS", AddrBookList);
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>
> >>  private ActionForward performListMailUser(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   try
> >>   {
> >>    //System.out.println("***************** performList
****************");
> >>    int offset;
> >>    int length = PAGE_LENGTH;
> >>    String pageOffset = request.getParameter("pager.offset");
> >>    if (pageOffset == null || pageOffset.equals(""))
> >>    {
> >>     offset = 0;
> >>    }
> >>    else
> >>    {
> >>     offset = Integer.parseInt(pageOffset);
> >>    }
> >>
> >>    List MailUserList = null;
> >>    String sUrlParam = "";
> >>    String sWhereClause = "and LG_STS='A' ";
> >>    String condition = "";
> >>
> >>    if (request.getParameter("searchFld") != null
> >>     && !request.getParameter("searchFld").equals(""))
> >>    {
> >>     condition = request.getParameter("searchFld");
> >>     MailUserList =
> >>      remoteAddrBook.getListMailUser(
> >>       offset,
> >>       length,
> >>       "%" + condition + "%");
> >>     sWhereClause = "and abid LIKE '%" + condition + "%' ";
> >>     sUrlParam = "?searchFld=" + condition;
> >>    }
> >>    else
> >>     MailUserList = remoteAddrBook.getListMailUser(offset, length,
> >> condition);
> >>
> >>    String[] objKeys = { "AddrBook", "list" };
> >>    String objKey = CacheManager.createKey(objKeys);
> >>    String url =
> >>     request.getContextPath()
> >>      + "/intmsg"
> >>      + mapping.getPath()
> >>      + ".do"
> >>      + sUrlParam;
> >>
> >>    Integer size = (Integer) SizeCacheManager.getCache(objKey);
> >>    if (size == null)
> >>    {
> >>     String sql = "SELECT COUNT(*) "+
> >>         "FROM "+scheme+".CTR004_LOGIN_ACCOUNT A,
"+scheme+".CTR004_USER_INFO
> >> B "+
> >>         "WHERE A.USR_ID=B.USR_ID(+) " + sWhereClause;
> >>
> >>     size = new Integer(remoteAddrBook.getSizeBySql(sql));
> >>     SizeCacheManager.putCache(size, objKey, 0); //no cache
> >>    }
> >>    String pagerHeader =
> >>     Pager.generate(offset, size.intValue(), length, url);
> >>    request.setAttribute("pagerHeader", pagerHeader);
> >>
>
> >>    request.setAttribute("MAILUSERS", MailUserList);
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>  private ActionForward performView(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   AddrBookForm form = (AddrBookForm) actionForm;
> >>   try
> >>   {
> >>    String abid = (String) request.getParameter("abId");
> >>
> >>    AddrBook addrbook = remoteAddrBook.getRec(abid);
> >>    if (addrbook == null)
> >>    {
> >>     ActionErrors aes = new ActionErrors();
> >>     aes.add(
> >>      aes.GLOBAL_ERROR,
> >>      new ActionError("error.object.notfound", "AddrBook"));
> >>     saveErrors(request, aes);
> >>     if (__log.isErrorEnabled())
> >>     {
> >>      __log.error(" [ AddrBook ] Object not found");
> >>     }
> >>    }
> >>    else
> >>    {
> >>     org.apache.commons.beanutils.BeanUtils.populate(
> >>      form,
> >>      org.apache.commons.beanutils.BeanUtils.describe(addrbook));
> >>    }
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>
> >>  private ActionForward performSave(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >> System.out.println("Action, performSave IN");
> >>   AddrBookForm form = (AddrBookForm) actionForm;
> >>
> >>   try
> >>   {
> >>    AddrBook addrbook = new AddrBook();
> >>    org.apache.commons.beanutils.BeanUtils.populate(
> >>     addrbook,
> >>     org.apache.commons.beanutils.BeanUtils.describe(form));
> >>
> >>    UserSession usn =
> >>     (UserSession) request.getSession().getAttribute(
> >>      IAttrName.USER_SESSION);
> >>
> >>    int strutsAction = form.getStrutsAction();
> >>    if (strutsAction == AddrBookForm.ADD)
> >>    {
> >>     String abid = (String) remoteAddrBook.getNewKeyId("ADDRBOOKID");
> >>
> >>     if (remoteAddrBook.getRec(abid) == null)
> >>     {
> >>      addrbook.setAbId(abid);
> >>      addrbook.setAbCreDt(System.currentTimeMillis());
> >>      addrbook.setAbCreWho(usn.getUserId());
> >>
> >>      remoteAddrBook.addRec(addrbook);
> >>     }
> >>     else
> >>     {
> >>      sqlDuplicateError(request, "AddrBook");
> >>      return mapping.findForward(FAILURE);
> >>     }
> >>    }
> >>    else if (strutsAction == AddrBookForm.EDIT)
> >>    {
> >>     remoteAddrBook.modRec(addrbook);
> >>    }
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>
> >>  private ActionForward performEdit(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   AddrBookForm form = (AddrBookForm) actionForm;
> >>   form.setStrutsAction(AddrBookForm.EDIT);
> >>   try
> >>   {
> >>    String abid = (String) request.getParameter("abId");
> >>
> >>    AddrBook addrbook = remoteAddrBook.getRec(abid);
> >>    org.apache.commons.beanutils.BeanUtils.populate(
> >>     form,
> >>     org.apache.commons.beanutils.BeanUtils.describe(addrbook));
> >>
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>
> >>  private ActionForward performAdd(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   AddrBookForm form = (AddrBookForm) actionForm;
> >>   form.setStrutsAction(AddrBookForm.ADD);
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>  private ActionForward performRemove(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   return performView(mapping, actionForm, request, response);
> >>  }
> >>
> >>  private ActionForward performTrash(
> >>   ActionMapping mapping,
> >>   ActionForm actionForm,
> >>   HttpServletRequest request,
> >>   HttpServletResponse response)
> >>  {
> >>   AddrBookForm form = (AddrBookForm) actionForm;
> >>   try
> >>   {
> >>    String abid = (String) request.getParameter("abId");
> >>    PKAddrBook pkAddrBook = new PKAddrBook(abid, scheme);
> >>    remoteAddrBook.delRec(pkAddrBook);
> >>   }
> >>   catch (Exception e)
> >>   {
> >>    generalError(request, e);
> >>    return mapping.findForward(FAILURE);
> >>   }
> >>   return mapping.findForward(SUCCESS);
> >>  }
> >>
> >> }
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >-- 
> >visit us at:
> >  http://www.rothweb.ch
> >  http://www.rothconsulting.com
> >  Jump and the earth will rise to meet you!
> >




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to