You are exactly right, Shawn. It is an exception caused by an invalid SQL statement.
Thanks for pointing out the problem source. Vernon 8/2/2002 11:37:21 AM, Shawn Bayern <[EMAIL PROTECTED]> wrote: >The error you're experiencing is probably the result of an exception that >was thrown in the getBlocks() method. The error message does say, "An >error occurred"; this is different from "Class XXX does not have property >YYY." > >-- >Shawn Bayern >"JSTL in Action" http://www.jstlbook.com > >On Fri, 2 Aug 2002, Vernon Wu wrote: > >> Shawn, >> >> Thanks for clarifying the concept betwennt attribute and property. >> >> Please read below for the problem. >> >> >> But when I use ${agentHelper.blocks} where the "blocks" is not an >> >> attribute, I get an error message as: >> >> >> >> An error occurred while evaluating custom action attribute "value" >> >> with value "${agentHelper.blocks}": An error occurred while getting >> >> property "blocks" from an instance of class .... >> >> >> >It means that no "blocks" property was found -- either that no getBlocks() >> >method was found, the getBlocks() method was unsuitable for another reason >> >(e.g., accepting an argument, or having a setBlocks() method that doesn't >> >correspond to it in data type), or a BeanInfo overrides it. >> >> There is a method. getBlocks() in the class without taking any argument, but not >"set" method. I don't see anything >> wrong. Here is the related code: >> >> public class MatchAgentHelper implements Serializable { >> >> static private DBConnectionPool conn; >> private String hostID; >> >> private MatchAgentDAO dao; >> >> private int count = 2; >> private int start = 0; >> >> /** >> * Constructor for MatchAgentHelper. >> */ >> public MatchAgentHelper() { >> super(); >> } >> >> public MatchAgentHelper(DBConnectionPool conn) throws >MatchAgentDAOSysException{ >> if(this.conn == null) >> this.conn = conn; >> dao = new MatchAgentDAOImpl(conn); >> } >> >> public void setCount(String countString) { >> this.count = (new Integer(countString)).intValue(); >> } >> >> public void setStart(String startString) { >> if (startString != null) { >> this.start = (new Integer(startString)).intValue(); >> } else { >> start = 0; >> } >> } >> >> public void sethostID(String id) { >> this.hostID = id; >> } >> >> public Page getBlocks() throws MatchAgentException { >> return getBlocksFromDAO(hostID, start, count, ""); >> } >> >> private Page getBlocksFromDAO(String Id, int start, int count, String >localeString) >> throws MatchAgentException { >> Locale locale = getLocaleFromString(localeString); >> return dao.getBlocks(Id, start, count, locale); >> } >> >> private Locale getLocaleFromString(String localeString) { >> //... >> } >> } >> >> And the followings is the related JSP page code: >> >> <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %> >> <%@ taglib prefix="fmt" uri="/WEB-INF/tlds/fmt.tld" %> >> >> >> <jsp:useBean >> id="agentHelper" >> class="com.vernonwu.mm.web.client.MatchAgentHelper" >> scope="session" >> /> >> <c:choose> >> <c:when test="${param.count != null}"> >> <c:set value="${param.start}" target="${agentHelper}" property="start"/> >> <c:set value="${param.count}" target="${agentHelper}" property="count"/> >> </c:when> >> <c:otherwise> >> <c:set value="0" target="${agentHelper}" property="start"/> >> <c:set value="2" target="${agentHelper}" property="count"/> >> </c:otherwise> >> </c:choose> >> >> <c:set value="${param.id}" target="${agentHelper}" property="hostID"/> >> <c:set value="${agentHelper.blocks}" var="pageResults" /> >> >> >> Thank for your help. >> >> Vernon >> >> >> >> >> -- >> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> >> > > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
