All, I have been strugling with this for a while. I looked at the archive and found similar questions but no answers there.
I have a form that has two fields - a bean and a String field. My jsp displays the two fields. I was able to get to the JSP by calling ssoXref.do?operation=showSsoXref. But when I click on look up button on the page. It throws the exception --javax.servlet.ServletException: BeanUtils.populate. My action and struts-config are attached below. THANKS FOR ANY INSIGHT ON THIS... Charlene <action path="/ssoXref" parameter="operation" type="com.tl.tln.action.SsoXrefAction" name="ssoXrefForm" input="/ssoXrefEdit.jsp" scope="session"> <forward name="showSsoXref" path="/ssoXrefEdit.jsp"/> </action> ========================================================= public class SsoXrefForm extends TlnActionForm { private TlnSsoXref tlnSsoXref = new TlnSsoXref(); private String searchSwbId = ""; public String getSearchSwbId() { return searchSwbId; } public void setSearchSwbId(String newSearchSwbId) { searchSwbId = newSearchSwbId; } public TlnSsoXref getTlnSsoXref() { return tlnSsoXref; } public void setTlnSsoXref(TlnSsoXref newTlnSsoXref) { tlnSsoXref = newTlnSsoXref; } } ======================================================== <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ include file="/include/incPageStart.jsp" %> <bean:define id="crumbName" type="java.lang.String" name="ssoXrefForm" property="crumbName" /> <bean:define id="crumbID" type="java.lang.String" name="ssoXrefForm" property="crumbID" /> <bean:define id="crumbAction" type="java.lang.String" name="ssoXrefForm" property="crumbAction" /> <html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title><%=crumbName%></title> <link rel="stylesheet" type="text/css" href="includes/styles.css"> <script language="Javascript" src="includes/floating-toolbar.js" type="text/javascript"></script> <script language="Javascript" type="text/javascript"> function handleSubmit(action) { document.forms[0].operation.value=action; alert("operation is " + document.forms[0].operation.value); return true; } </script> <base target="contents"> </head> <body onload="setFocus()"> <html:form method="post" action="/ssoXref.do"> <input type="hidden" name="operation" value="" /> <div id="taskarea"> <div class="breadcrumb"> <bc:breadcrumb showCrumbs="true" crumbAction="<%=crumbAction%>" crumbName="<%=crumbName%>" crumbID="<%=crumbID%>" /> </div> <div class="taskbar" align="right"> </div> </div> <div id="taskareaspacer"> </div> <html:errors/> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td width="20"><img src="images/spacer.gif" height="1" width="20" alt="" border="0"></td> <td width="100%"> <!-- Content Begin --> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td colspan="3"><img class="field-divider" alt="" src="" /></td> </tr> <tr class="columnheadings"> <td colspan=3><span class="resultstitle"><%=crumbName%></span></td> </tr> <tr> <td colspan="3"><img class="field-divider" src="" alt="" /></td> </tr> <tr> <td class="field-name" width="20%">Swb ID: *</td> <td class="vdivider" width="1" ><img class="spacer" src="" alt="" /></td> <td class="field-text" width="80%"> <html:text name="ssoXrefForm" property="searchSwbId" size="54" maxlength="200" /> <div class="actions"><input type="submit" name="action" value="Look up" onClick="javascript:handleSubmit('lookup');"></div></td> </tr> <tr> <td colspan="3"><html:errors/></td> </tr> <tr> <td class="field-name" width="20%">Swb ID: *</td> <td class="vdivider" width="1" ><img class="spacer" src="" alt="" /></td> <td class="field-text" width="80%"> <html:text name="ssoXrefForm" property="tlnSsoXref.swbId" size="54" maxlength="200" /> </td> </tr> <tr> <td colspan="3"><img class="field-divider" src="" alt="" /></td> </tr> <tr> <td class="field-name" width="20%" valign="top">Auth Class: *</td> <td class="vdivider" width="1" ><img class="spacer" src="" alt="" /></td> <td class="field-text" width="80%"><html:text name="ssoXrefForm" property="tlnSsoXref.authClass" size="54"/></td> </tr> <tr> <td colspan="3"><img class="field-divider" src="" alt="" /></td> </tr> <tr> <td class="field-name" width="20%" valign="top">Expiration Date: *</td> <td class="vdivider" width="1" ><img class="spacer" src="" alt="" /></td> <td class="field-text" width="80%"><html:text name="ssoXrefForm" property="tlnSsoXref.expirationDt" size="54"/></td> </tr> <tr> <td colspan="3"><img class="field-divider" src="" alt="" /></td> </tr> <tr> <td class="field-name" width="20%" valign="top">Maintained By: *</td> <td class="vdivider" width="1" ><img class="spacer" src="" alt="" /></td> <td class="field-text" width="80%"><html:text name="ssoXrefForm" property="tlnSsoXref.maintainedBy" size="54"/></td> </tr> <tr> <td class="actions" colspan="3"> <input type="submit" name="action" value="Reset" onClick="javascript:handleSubmit('reset');"> <input type="submit" name="action" value="Save" onClick="javascript:handleSubmit('store');"> <input type="submit" name="action" value="Delete" onClick="javascript:handleSubmit('delete');"> </td> </tr> </table> <!-- Content End --> </td> <td width="20"><img src="images/spacer.gif" height="1" width="20" alt="" border="0"></td> </tr> </table> </html:form> <%@ include file="/include/incPageEnd.jsp" %> </body> </html> ===================================================== public class SsoXrefAction extends TlnAction { private DateFormat formatter = DateFormat.getDateInstance(java.text.DateFormat.MEDIUM); public SsoXrefAction() { } public ActionForward showSsoXref(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { System.out.println("Inside showSsoXref"); SsoXrefForm ssoXrefForm = (SsoXrefForm) form; return mapping.findForward("showSsoXref"); } public ActionForward lookup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { System.out.println("Am I here?"); SsoXrefForm ssoXrefForm = (SsoXrefForm) form; try { TlnSsoXref tlnSsoXref = getTlnSsoXref(ssoXrefForm.getSearchSwbId(), ""); if(tlnSsoXref != null) { ssoXrefForm.setTlnSsoXref(tlnSsoXref); } else { ssoXrefForm.setTlnSsoXref(new TlnSsoXref()); setErrors(request, "error.ssoXref.norFound"); } } catch (Throwable t) { t.printStackTrace(); return mapping.findForward("error"); } return mapping.findForward("lookupSsoXref"); } private TlnSsoXref getTlnSsoXref(String swbId, String customerId) throws Throwable { TlnSsoXref tlnSsoXref = null;; Criteria criteria = new Criteria(); criteria.addEqualTo("swbId", swbId); criteria.addEqualTo("customerId", customerId); Query query = QueryFactory.newQuery(TlnSsoXref.class, criteria); try { PersistenceBroker broker = getBroker(); tlnSsoXref = (TlnSsoXref)broker.getObjectByQuery(query); } catch (Throwable t) { throw t; } return tlnSsoXref; } private void setErrors(HttpServletRequest request, String err) { ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(err)); saveErrors(request, errors); } } ========================================================================= javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1098) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.tl.tln.servlet.LoginFilter.doFilter(LoginFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:484) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]