You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Yan, Charlene" <Ch...@thomsonlearning.com> on 2003/08/01 17:12:59 UTC
javax.servlet.ServletException: BeanUtils.populate
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: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org