I'm seeing some really strange problems while trying to use JSTL's
<c:set> action to set a property of a JavaBean. It's throwing a
NullPointerException (see below for stackTrace).
It doesn't like to set my property "day". If I create a setter method
with a different name (day2 for instance), which simply calls the
original setter method (day), everything works fine (code included below).
I'm a bit stumped. Maybe I'm missing something obvious here but I'm just
not seeing what the problem is. Can anyone offer any advice?
JSP:
===============================
<jsp:useBean class="com.alcatel.date.AlaDate" id="start" scope="request"/>
<jsp:useBean class="com.alcatel.date.AlaDate" id="end" scope="request"/>
<c:choose>
<c:when test="${param.mode eq 'month'}">
<c:set target="${start}" property="deltaMonth" value="-1"/>
<%-- <c:set target="${start}" property="day" value="1"/> --%>
<c:set target="${start}" property="day2" value="1"/>
<c:set target="${end}" property="deltaMonth" value="-1"/>
<%-- <c:set target="${end}" property="day" value="31"/> --%>
<c:set target="${end}" property="day2" value="31"/>
</c:when>
<c:otherwise>
<c:set target="${start}" property="deltaDay" value="-7"/>
</c:otherwise>
</c:choose>
JavaBean:
===============================
public void setDay(int day) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
int max = cal.getMaximum(Calendar.DAY_OF_MONTH);
day = (day > max) ? max : day;
cal.set(Calendar.DAY_OF_MONTH, day);
date = cal.getTime();
}
public void setDay2(int day) {
this.setDay(day);
}
Exception:
===============================
java.lang.NullPointerException
at
org.apache.taglibs.standard.tag.common.core.SetSupport.doEndTag(SetSupport.java:172)
at
jrun__push__caseSummary2ejsp15._jspService(jrun__push__caseSummary2ejsp15.java:188)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPServlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:106)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:241)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
at
jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:198)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:294)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
- Re: c:set can't set JavaBean property Mike Cantrell
- Re: c:set can't set JavaBean property Pierre Delisle
- Re: c:set can't set JavaBean property Mike Cantrell
- Re: c:set can't set JavaBean property Hans Bergsten