You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Geoff Callender <ge...@gmail.com> on 2008/01/24 13:18:50 UTC

5.0.9 NullPointerException on TextField

First, is it OK to use the dev list in this way, given that 5.0.9 is  
up for a vote?

Second, trying 5.0.9, I'm getting NullPointerException when a  
TextField is left empty.  This wasn't the case in 5.0.7.  I haven't  
tried the "translate" or "nulls" attribute of TextField but I figured  
this is the ultimate basic case so I shouldn't need to.

Have I misunderstood what's required of TextField in 5.0.9?

Here's the form.  The exception occurs if either TextField is left  
empty or only spaces are entered:

	<form t:type="form" t:id="form">
		<table>
			<tr>
				<td>First Name:</td>
				<td><input t:type="TextField" value="firstName"/></td>
			</tr>
			<tr>
				<td>Last Name:</td>
				<td><input t:type="TextField" value="lastName"/></td>
			</tr>
		</table>
		<input type="submit" value="Display"/>
	</form>
And the java.  You'll see that this is an input screen that isn't set  
up in advance.

public class BasicInput1 {

	private String _firstName;
	
	private String _lastName;

	@InjectPage
	private BasicInput2 _basicInput2;

	Object onSuccess() {
		_basicInput2.onActivate(_firstName, _lastName);
		return _basicInput2;
	}

	public String getFirstName() {
		return _firstName;
	}

	public String getLastName() {
		return _lastName;
	}

	public void setFirstName(String firstName) {
		_firstName = firstName;
	}

	public void setLastName(String lastName) {
		_lastName = lastName;
	}
}

The stacktrace:


23:10:48,546 ERROR [RequestExceptionHandler] Processing of request  
failed with uncaught exception:  
org.apache.tapestry.runtime.ComponentEventException
org.apache.tapestry.runtime.ComponentEventException [at  
classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,  
column 34]
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
973)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentEventRequestHandlerImpl 
.handle(ComponentEventRequestHandlerImpl.java:62)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ImmediateActionRenderResponseFilter 
.handle(ImmediateActionRenderResponseFilter.java:42)
	at  
$ 
ComponentEventRequestHandler_117ab99912a 
.handle($ComponentEventRequestHandler_117ab99912a.java)
	at  
org 
.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
	at  
$ 
ComponentEventRequestHandler_117ab99912a 
.handle($ComponentEventRequestHandler_117ab99912a.java)
	at org.apache.tapestry.services.TapestryModule 
$39.handle(TapestryModule.java:2071)
	at  
$ 
ComponentEventRequestHandler_117ab99912a 
.handle($ComponentEventRequestHandler_117ab99912a.java)
	at  
$ 
ComponentEventRequestHandler_117ab99902f 
.handle($ComponentEventRequestHandler_117ab99902f.java)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
	at $Dispatcher_117ab999030.dispatch($Dispatcher_117ab999030.java)
	at $Dispatcher_117ab999024.dispatch($Dispatcher_117ab999024.java)
	at org.apache.tapestry.services.TapestryModule 
$13.service(TapestryModule.java:924)
	at  
org 
.apache 
.tapestry 
.internal.services.LocalizationFilter.service(LocalizationFilter.java: 
43)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at org.apache.tapestry.services.TapestryModule 
$3.service(TapestryModule.java:516)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at org.apache.tapestry.services.TapestryModule 
$2.service(TapestryModule.java:491)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at  
org 
.apache 
.tapestry 
.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java: 
53)
	at $RequestFilter_117ab999023.service($RequestFilter_117ab999023.java)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at  
org 
.apache 
.tapestry 
.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at org.apache.tapestry.internal.services.CheckForUpdatesFilter 
$2.invoke(CheckForUpdatesFilter.java:93)
	at org.apache.tapestry.internal.services.CheckForUpdatesFilter 
$2.invoke(CheckForUpdatesFilter.java:84)
	at  
org 
.apache 
.tapestry 
.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
	at  
org 
.apache 
.tapestry 
.internal 
.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
	at  
$RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
	at  
$RequestHandler_117ab99901d.service($RequestHandler_117ab99901d.java)
	at org.apache.tapestry.services.TapestryModule 
$12.service(TapestryModule.java:904)
	at  
$ 
HttpServletRequestHandler_117ab99901c 
.service($HttpServletRequestHandler_117ab99901c.java)
	at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
	at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
235)
	at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at  
org 
.jboss 
.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java: 
96)
	at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
235)
	at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at  
org 
.apache 
.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 
230)
	at  
org 
.apache 
.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 
175)
	at  
org 
.jboss 
.web 
.tomcat 
.security 
.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
	at  
org 
.jboss 
.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at  
org 
.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 
127)
	at  
org 
.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 
102)
	at  
org 
.jboss 
.web 
.tomcat 
.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java: 
157)
	at  
org 
.apache 
.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at  
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
262)
	at  
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
844)
	at org.apache.coyote.http11.Http11Protocol 
$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 
446)
	at java.lang.Thread.run(Thread.java:613)
Caused by: org.apache.tapestry.runtime.ComponentEventException
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
973)
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.InternalComponentResourcesImpl 
.triggerEvent(InternalComponentResourcesImpl.java:154)
	at org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
	at  
org 
.apache 
.tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java: 
840)
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
954)
	... 50 more
Caused by: java.lang.NullPointerException
	at  
org 
.apache 
.tapestry 
.internal 
.TapestryInternalUtils 
.escapePercentAndSlash(TapestryInternalUtils.java:514)
	at  
org 
.apache 
.tapestry 
.internal 
.TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
	at  
org 
.apache 
.tapestry 
.internal 
.services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java: 
101)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
	at  
org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java: 
105)
	at  
org 
.apache 
.tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
	at  
org 
.apache 
.tapestry 
.internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
	at $Response_117ab999079.sendRedirect($Response_117ab999079.java)
	at $Response_117ab999012.sendRedirect($Response_117ab999012.java)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ActionRenderResponseGeneratorImpl 
.generateResponse(ActionRenderResponseGeneratorImpl.java:45)
	at  
$ 
ActionRenderResponseGenerator_117ab999014 
.generateResponse($ActionRenderResponseGenerator_117ab999014.java)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInstanceResultProcessor 
.processResultValue(ComponentInstanceResultProcessor.java:53)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInstanceResultProcessor 
.processResultValue(ComponentInstanceResultProcessor.java:25)
	at  
$ 
ComponentEventResultProcessor_117ab99912d 
.processResultValue($ComponentEventResultProcessor_117ab99912d.java)
	at  
$ 
ComponentEventResultProcessor_117ab99912e 
.processResultValue($ComponentEventResultProcessor_117ab99912e.java)
	at  
$ 
ComponentEventResultProcessor_117ab999031 
.processResultValue($ComponentEventResultProcessor_117ab999031.java)
	at  
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentResultProcessorWrapper 
.handleResult(ComponentResultProcessorWrapper.java:43)
	at org.apache.tapestry.internal.structure.ComponentPageElementImpl 
$13.handleResult(ComponentPageElementImpl.java:936)
	at  
org 
.apache 
.tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
	at jumpstart.web.pages.examples.input.BasicInput1.dispatchComponentEvent 
(BasicInput1.java)
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java: 
832)
	at  
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
954)
	... 55 more

The exception page:

An unexpected application exception has occurred.

org.apache.tapestry.runtime.ComponentEventException
context
[Ljava.lang.String;@830a79
eventType
action
location
classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,  
column 34
2	<body>
3		<h1>Basic Input (1)</h1>
4		
5		This page demonstrates the Form component with TextField components  
and submit button handling.  It does no validation.<br/><br/>
6			
7		<form t:type="form" t:id="form">
8			<table>
9				<tr>
10					<td>First Name:</td>
11					<td><input t:type="TextField" value="firstName"/></td>
12				</tr>
org.apache.tapestry.runtime.ComponentEventException
context
[Ljava.lang.String;@830a79
eventType
success
java.lang.NullPointerException
Stack trace
org 
.apache 
.tapestry 
.internal 
.TapestryInternalUtils 
.escapePercentAndSlash(TapestryInternalUtils.java:514)
org 
.apache 
.tapestry 
.internal 
.TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
org 
.apache 
.tapestry 
.internal 
.services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java: 
101)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java: 
105)
org 
.apache 
.tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
org 
.apache 
.tapestry 
.internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
org 
.apache 
.tapestry 
.internal 
.services 
.ActionRenderResponseGeneratorImpl 
.generateResponse(ActionRenderResponseGeneratorImpl.java:45)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInstanceResultProcessor 
.processResultValue(ComponentInstanceResultProcessor.java:53)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentInstanceResultProcessor 
.processResultValue(ComponentInstanceResultProcessor.java:25)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentResultProcessorWrapper 
.handleResult(ComponentResultProcessorWrapper.java:43)
org.apache.tapestry.internal.structure.ComponentPageElementImpl 
$13.handleResult(ComponentPageElementImpl.java:936)
org 
.apache 
.tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
jumpstart 
.web 
.pages 
.examples.input.BasicInput1.dispatchComponentEvent(BasicInput1.java)
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java: 
832)
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
954)
org 
.apache 
.tapestry 
.internal 
.structure 
.InternalComponentResourcesImpl 
.triggerEvent(InternalComponentResourcesImpl.java:154)
org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
org 
.apache 
.tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java: 
840)
org 
.apache 
.tapestry 
.internal 
.structure 
.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java: 
954)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentEventRequestHandlerImpl 
.handle(ComponentEventRequestHandlerImpl.java:62)
org 
.apache 
.tapestry 
.internal 
.services 
.ImmediateActionRenderResponseFilter 
.handle(ImmediateActionRenderResponseFilter.java:42)
org 
.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
org.apache.tapestry.services.TapestryModule 
$39.handle(TapestryModule.java:2071)
org 
.apache 
.tapestry 
.internal 
.services 
.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
org.apache.tapestry.services.TapestryModule 
$13.service(TapestryModule.java:924)
org 
.apache 
.tapestry 
.internal.services.LocalizationFilter.service(LocalizationFilter.java: 
43)
org.apache.tapestry.services.TapestryModule 
$3.service(TapestryModule.java:516)
org.apache.tapestry.services.TapestryModule 
$2.service(TapestryModule.java:491)
org 
.apache 
.tapestry 
.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java: 
53)
org 
.apache 
.tapestry 
.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
org.apache.tapestry.internal.services.CheckForUpdatesFilter 
$2.invoke(CheckForUpdatesFilter.java:93)
org.apache.tapestry.internal.services.CheckForUpdatesFilter 
$2.invoke(CheckForUpdatesFilter.java:84)
org 
.apache 
.tapestry 
.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
org 
.apache 
.tapestry 
.internal 
.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
org.apache.tapestry.services.TapestryModule 
$12.service(TapestryModule.java:904)
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
235)
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org 
.jboss 
.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java: 
96)
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
235)
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org 
.apache 
.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 
230)
org 
.apache 
.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 
175)
org 
.jboss 
.web 
.tomcat 
.security 
.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
org 
.jboss 
.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org 
.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 
127)
org 
.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 
102)
org 
.jboss 
.web 
.tomcat 
.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java: 
157)
org 
.apache 
.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
844)
org.apache.coyote.http11.Http11Protocol 
$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:613)
Request

Context Path
/jumpstart
Request Path
/examples/input/basicinput1.form
Locale
en_US
Query Parameters
t:formdata
H4sIAAAAAAAAAFvzloG1XI1BJbUiMbcgJ7VYPzOvoLRE3ymxODPZE8Q0tCpJrShJy0zNSSkuYrDKL0rXSyxITM5I1StJLEgtLimq1EvOL0rNyUzSS0osTtVzTAKKJSaXuIF0qASnlpQWOCaXZObnqYYe5n4oevwPEwOjDwNPfGpOam5qXolfYm5qCYOQT1ZiWaJ+TmJeun5wSVFmXrp1RUEJAyfcahKc6EaiEwOK8pNTi4uDS5NyM4uLgQ6FOPfwuhSTtG/zzjExMFQUlGswqBFjfbxBcSFDHQNDCQM3khjxukGaWQGx57eLkwEAAA==
textfield
textfield_0
b
Headers
accept
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/ 
plain;q=0.8,image/png,*/*;q=0.5
accept-encoding
gzip, deflate
accept-language
en-us
connection
keep-alive
content-length
366
content-type
application/x-www-form-urlencoded
cookie
JSESSIONID=943A0DC434B21C8F518EC434709F7F2C
host
localhost:8180
referer
http://localhost:8180/jumpstart/examples/input/basicinput1
user-agent
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/523.10.6  
(KHTML, like Gecko) Version/3.0.4 Safari/523.10.6
Session

state:Start:form:defaultTracker
org.apache.tapestry.ValidationTrackerImpl@a25a22
state:examples/input/BasicInput1:form:defaultTracker
org.apache.tapestry.ValidationTrackerImpl@cb7de4

Cheers,

Geoff


Re: 5.0.9 NullPointerException on TextField

Posted by Geoff Callender <ge...@gmail.com>.
Kevin,

Thanks for adding the JIRA issue.  https://issues.apache.org/jira/browse/TAPESTRY-2085

Geoff

On 25/01/2008, at 7:16 AM, Kevin Menard wrote:

> The workaround won't work if the text field is bound to a non-String  
> value.
> E.g., I have a text field bound to an Integer and I get:
>
> Failure writing parameter value of component order/Ship:textfield_0:
> Coercion of null to type java.lang.Integer (via null --> String,  
> String -->
> Long, Long --> Integer) failed: null
>
> -- 
> Kevin
>
>
> On 1/24/08 11:40 AM, in article
> ecd0e3310801240840y45c54e16j87f03380a3c1ca77@mail.gmail.com, "Howard  
> Lewis
> Ship" <hl...@gmail.com> wrote:
>
>> This is a bug, please add an issue.
>>
>> It is not quite a show stopper.
>>
>> The difference is that blank fields used to show up as the empty
>> string and are now showing up in the properties as null.
>>
>> This could be addressed by a different NullFieldStrategy.  Perhaps
>> Tapestry should detect that the field is of type String and use
>> NullFieldStrategy that converts blank fields to the empty string.
>>
>> In any case, a workaround is:
>>
>> Object onSuccess() {
>>
>>   if (_firstName == null) _firstName = "";
>>   if (_lastName == null) _lastName = "";
>>
>> _basicInput2.onActivate(_firstName, _lastName);
>> return _basicInput2;
>> }
>>
>>
>>
>>
>> On Jan 24, 2008 4:18 AM, Geoff Callender
>> <ge...@gmail.com> wrote:
>>> First, is it OK to use the dev list in this way, given that 5.0.9 is
>>> up for a vote?
>>>
>>> Second, trying 5.0.9, I'm getting NullPointerException when a
>>> TextField is left empty.  This wasn't the case in 5.0.7.  I haven't
>>> tried the "translate" or "nulls" attribute of TextField but I  
>>> figured
>>> this is the ultimate basic case so I shouldn't need to.
>>>
>>> Have I misunderstood what's required of TextField in 5.0.9?
>>>
>>> Here's the form.  The exception occurs if either TextField is left
>>> empty or only spaces are entered:
>>>
>>>       <form t:type="form" t:id="form">
>>>               <table>
>>>                       <tr>
>>>                               <td>First Name:</td>
>>>                               <td><input t:type="TextField"
>>> value="firstName"/></td>
>>>                       </tr>
>>>                       <tr>
>>>                               <td>Last Name:</td>
>>>                               <td><input t:type="TextField"
>>> value="lastName"/></td>
>>>                       </tr>
>>>               </table>
>>>               <input type="submit" value="Display"/>
>>>       </form>
>>> And the java.  You'll see that this is an input screen that isn't  
>>> set
>>> up in advance.
>>>
>>> public class BasicInput1 {
>>>
>>>       private String _firstName;
>>>
>>>       private String _lastName;
>>>
>>>       @InjectPage
>>>       private BasicInput2 _basicInput2;
>>>
>>>       Object onSuccess() {
>>>               _basicInput2.onActivate(_firstName, _lastName);
>>>               return _basicInput2;
>>>       }
>>>
>>>       public String getFirstName() {
>>>               return _firstName;
>>>       }
>>>
>>>       public String getLastName() {
>>>               return _lastName;
>>>       }
>>>
>>>       public void setFirstName(String firstName) {
>>>               _firstName = firstName;
>>>       }
>>>
>>>       public void setLastName(String lastName) {
>>>               _lastName = lastName;
>>>       }
>>> }
>>>
>>> The stacktrace:
>>>
>>>
>>> 23:10:48,546 ERROR [RequestExceptionHandler] Processing of request
>>> failed with uncaught exception:
>>> org.apache.tapestry.runtime.ComponentEventException
>>> org.apache.tapestry.runtime.ComponentEventException [at
>>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line  
>>> 7,
>>> column 34]
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 973)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentEventRequestHandlerImpl
>>> .handle(ComponentEventRequestHandlerImpl.java:62)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ImmediateActionRenderResponseFilter
>>> .handle(ImmediateActionRenderResponseFilter.java:42)
>>>       at
>>> $
>>> ComponentEventRequestHandler_117ab99912a
>>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>>       at
>>> org
>>> .apache 
>>> .tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>>>       at
>>> $
>>> ComponentEventRequestHandler_117ab99912a
>>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>>       at org.apache.tapestry.services.TapestryModule
>>> $39.handle(TapestryModule.java:2071)
>>>       at
>>> $
>>> ComponentEventRequestHandler_117ab99912a
>>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>>       at
>>> $
>>> ComponentEventRequestHandler_117ab99902f
>>> .handle($ComponentEventRequestHandler_117ab99902f.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java: 
>>> 133)
>>>       at  
>>> $Dispatcher_117ab999030.dispatch($Dispatcher_117ab999030.java)
>>>       at  
>>> $Dispatcher_117ab999024.dispatch($Dispatcher_117ab999024.java)
>>>       at org.apache.tapestry.services.TapestryModule
>>> $13.service(TapestryModule.java:924)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.LocalizationFilter.service(LocalizationFilter.java:
>>> 43)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at org.apache.tapestry.services.TapestryModule
>>> $3.service(TapestryModule.java:516)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at org.apache.tapestry.services.TapestryModule
>>> $2.service(TapestryModule.java:491)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>>> 53)
>>>       at
>>> $RequestFilter_117ab999023.service($RequestFilter_117ab999023.java)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>>> $2.invoke(CheckForUpdatesFilter.java:93)
>>>       at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>>> $2.invoke(CheckForUpdatesFilter.java:84)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .ioc 
>>> .internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java: 
>>> 106)
>>>       at
>>> $ 
>>> RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>>       at
>>> $ 
>>> RequestHandler_117ab99901d.service($RequestHandler_117ab99901d.java)
>>>       at org.apache.tapestry.services.TapestryModule
>>> $12.service(TapestryModule.java:904)
>>>       at
>>> $
>>> HttpServletRequestHandler_117ab99901c
>>> .service($HttpServletRequestHandler_117ab99901c.java)
>>>       at
>>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>>>       at
>>> org
>>> .apache
>>> .catalina
>>> .core
>>> .ApplicationFilterChain 
>>> .internalDoFilter(ApplicationFilterChain.java:
>>> 235)
>>>       at
>>> org
>>> .apache
>>> .catalina
>>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>>> 206)
>>>       at
>>> org
>>> .jboss
>>> .web 
>>> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>>> 96)
>>>       at
>>> org
>>> .apache
>>> .catalina
>>> .core
>>> .ApplicationFilterChain 
>>> .internalDoFilter(ApplicationFilterChain.java:
>>> 235)
>>>       at
>>> org
>>> .apache
>>> .catalina
>>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>>> 206)
>>>       at
>>> org
>>> .apache
>>> .catalina 
>>> .core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>>> 230)
>>>       at
>>> org
>>> .apache
>>> .catalina 
>>> .core.StandardContextValve.invoke(StandardContextValve.java:
>>> 175)
>>>       at
>>> org
>>> .jboss
>>> .web
>>> .tomcat
>>> .security
>>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>>>       at
>>> org
>>> .jboss
>>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: 
>>> 84)
>>>       at
>>> org
>>> .apache 
>>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>>> 127)
>>>       at
>>> org
>>> .apache 
>>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>>> 102)
>>>       at
>>> org
>>> .jboss
>>> .web
>>> .tomcat
>>> .service 
>>> .jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>>> 157)
>>>       at
>>> org
>>> .apache
>>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
>>> 109)
>>>       at
>>> org 
>>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>>> 262)
>>>       at
>>> org 
>>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>>> 844)
>>>       at org.apache.coyote.http11.Http11Protocol
>>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>>>       at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
>>> 446)
>>>       at java.lang.Thread.run(Thread.java:613)
>>> Caused by: org.apache.tapestry.runtime.ComponentEventException
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 973)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .InternalComponentResourcesImpl
>>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>>>       at
>>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>>>       at
>>> org
>>> .apache
>>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .dispatchEvent(ComponentPageElementImpl.java:
>>> 840)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 954)
>>>       ... 50 more
>>> Caused by: java.lang.NullPointerException
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .TapestryInternalUtils
>>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services 
>>> .ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>>> 101)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>>>       at
>>> org 
>>> .apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>>> 105)
>>>       at
>>> org
>>> .apache
>>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java: 
>>> 120)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>>>       at  
>>> $Response_117ab999079.sendRedirect($Response_117ab999079.java)
>>>       at  
>>> $Response_117ab999012.sendRedirect($Response_117ab999012.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ActionRenderResponseGeneratorImpl
>>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>>>       at
>>> $
>>> ActionRenderResponseGenerator_117ab999014
>>> .generateResponse($ActionRenderResponseGenerator_117ab999014.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInstanceResultProcessor
>>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInstanceResultProcessor
>>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>>>       at
>>> $
>>> ComponentEventResultProcessor_117ab99912d
>>> .processResultValue($ComponentEventResultProcessor_117ab99912d.java)
>>>       at
>>> $
>>> ComponentEventResultProcessor_117ab99912e
>>> .processResultValue($ComponentEventResultProcessor_117ab99912e.java)
>>>       at
>>> $
>>> ComponentEventResultProcessor_117ab999031
>>> .processResultValue($ComponentEventResultProcessor_117ab999031.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentResultProcessorWrapper
>>> .handleResult(ComponentResultProcessorWrapper.java:43)
>>>       at  
>>> org.apache.tapestry.internal.structure.ComponentPageElementImpl
>>> $13.handleResult(ComponentPageElementImpl.java:936)
>>>       at
>>> org
>>> .apache
>>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>>>       at
>>> jumpstart 
>>> .web.pages.examples.input.BasicInput1.dispatchComponentEvent
>>> (BasicInput1.java)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .dispatchEvent(ComponentPageElementImpl.java:
>>> 832)
>>>       at
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 954)
>>>       ... 55 more
>>>
>>> The exception page:
>>>
>>> An unexpected application exception has occurred.
>>>
>>> org.apache.tapestry.runtime.ComponentEventException
>>> context
>>> [Ljava.lang.String;@830a79
>>> eventType
>>> action
>>> location
>>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line  
>>> 7,
>>> column 34
>>> 2       <body>
>>> 3               <h1>Basic Input (1)</h1>
>>> 4
>>> 5               This page demonstrates the Form component with  
>>> TextField
>>> components
>>> and submit button handling.  It does no validation.<br/><br/>
>>> 6
>>> 7               <form t:type="form" t:id="form">
>>> 8                       <table>
>>> 9                               <tr>
>>> 10                                      <td>First Name:</td>
>>> 11                                      <td><input  
>>> t:type="TextField"
>>> value="firstName"/></td>
>>> 12                              </tr>
>>> org.apache.tapestry.runtime.ComponentEventException
>>> context
>>> [Ljava.lang.String;@830a79
>>> eventType
>>> success
>>> java.lang.NullPointerException
>>> Stack trace
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .TapestryInternalUtils
>>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services 
>>> .ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>>> 101)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>>> org 
>>> .apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>>> 105)
>>> org
>>> .apache
>>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java: 
>>> 120)
>>> org
>>> .apache
>>> .tapestry
>>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ActionRenderResponseGeneratorImpl
>>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInstanceResultProcessor
>>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentInstanceResultProcessor
>>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentResultProcessorWrapper
>>> .handleResult(ComponentResultProcessorWrapper.java:43)
>>> org.apache.tapestry.internal.structure.ComponentPageElementImpl
>>> $13.handleResult(ComponentPageElementImpl.java:936)
>>> org
>>> .apache
>>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>>> jumpstart
>>> .web
>>> .pages
>>> .examples.input.BasicInput1.dispatchComponentEvent(BasicInput1.java)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .dispatchEvent(ComponentPageElementImpl.java:
>>> 832)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 954)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .InternalComponentResourcesImpl
>>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>>> org
>>> .apache
>>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .dispatchEvent(ComponentPageElementImpl.java:
>>> 840)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .structure
>>> .ComponentPageElementImpl 
>>> .triggerEvent(ComponentPageElementImpl.java:
>>> 954)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentEventRequestHandlerImpl
>>> .handle(ComponentEventRequestHandlerImpl.java:62)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ImmediateActionRenderResponseFilter
>>> .handle(ImmediateActionRenderResponseFilter.java:42)
>>> org
>>> .apache 
>>> .tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>>> org.apache.tapestry.services.TapestryModule
>>> $39.handle(TapestryModule.java:2071)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services
>>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java: 
>>> 133)
>>> org.apache.tapestry.services.TapestryModule
>>> $13.service(TapestryModule.java:924)
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.LocalizationFilter.service(LocalizationFilter.java:
>>> 43)
>>> org.apache.tapestry.services.TapestryModule
>>> $3.service(TapestryModule.java:516)
>>> org.apache.tapestry.services.TapestryModule
>>> $2.service(TapestryModule.java:491)
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>>> 53)
>>> org
>>> .apache
>>> .tapestry
>>> .internal 
>>> .services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>>> $2.invoke(CheckForUpdatesFilter.java:93)
>>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>>> $2.invoke(CheckForUpdatesFilter.java:84)
>>> org
>>> .apache
>>> .tapestry
>>> .ioc 
>>> .internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>>> org
>>> .apache
>>> .tapestry
>>> .internal
>>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java: 
>>> 106)
>>> org.apache.tapestry.services.TapestryModule
>>> $12.service(TapestryModule.java:904)
>>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>>> org
>>> .apache
>>> .catalina
>>> .core
>>> .ApplicationFilterChain 
>>> .internalDoFilter(ApplicationFilterChain.java:
>>> 235)
>>> org
>>> .apache
>>> .catalina
>>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>>> 206)
>>> org
>>> .jboss
>>> .web 
>>> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>>> 96)
>>> org
>>> .apache
>>> .catalina
>>> .core
>>> .ApplicationFilterChain 
>>> .internalDoFilter(ApplicationFilterChain.java:
>>> 235)
>>> org
>>> .apache
>>> .catalina
>>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>>> 206)
>>> org
>>> .apache
>>> .catalina 
>>> .core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>>> 230)
>>> org
>>> .apache
>>> .catalina 
>>> .core.StandardContextValve.invoke(StandardContextValve.java:
>>> 175)
>>> org
>>> .jboss
>>> .web
>>> .tomcat
>>> .security
>>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>>> org
>>> .jboss
>>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: 
>>> 84)
>>> org
>>> .apache 
>>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>>> 127)
>>> org
>>> .apache 
>>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>>> 102)
>>> org
>>> .jboss
>>> .web
>>> .tomcat
>>> .service 
>>> .jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>>> 157)
>>> org
>>> .apache
>>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
>>> 109)
>>> org 
>>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>>> 262)
>>> org 
>>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>>> 844)
>>> org.apache.coyote.http11.Http11Protocol
>>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 
>>> 446)
>>> java.lang.Thread.run(Thread.java:613)
>>> Request
>>>
>>> Context Path
>>> /jumpstart
>>> Request Path
>>> /examples/input/basicinput1.form
>>> Locale
>>> en_US
>>> Query Parameters
>>> t:formdata
>>> H4sIAAAAAAAAAFvzloG1XI1BJbUiMbcgJ7VYPzOvoLRE3ymxODPZE8Q0tCpJrShJy0zNSSkuYrDKL
>>> 0rXSyxITM5I1StJLEgtLimq1EvOL0rNyUzSS0osTtVzTAKKJSaXuIF0qASnlpQWOCaXZObnqYYe5n
>>> 4oevwPEwOjDwNPfGpOam5qXolfYm5qCYOQT1ZiWaJ 
>>> +TmJeun5wSVFmXrp1RUEJAyfcahKc6EaiEwO
>>> K8pNTi4uDS5NyM4uLgQ6FOPfwuhSTtG/ 
>>> zzjExMFQUlGswqBFjfbxBcSFDHQNDCQM3khjxukGaWQGx
>>> 57eLkwEAAA==
>>> textfield
>>> textfield_0
>>> b
>>> Headers
>>> accept
>>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
>>> plain;q=0.8,image/png,*/*;q=0.5
>>> accept-encoding
>>> gzip, deflate
>>> accept-language
>>> en-us
>>> connection
>>> keep-alive
>>> content-length
>>> 366
>>> content-type
>>> application/x-www-form-urlencoded
>>> cookie
>>> JSESSIONID=943A0DC434B21C8F518EC434709F7F2C
>>> host
>>> localhost:8180
>>> referer
>>> http://localhost:8180/jumpstart/examples/input/basicinput1
>>> user-agent
>>> Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/ 
>>> 523.10.6
>>> (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6
>>> Session
>>>
>>> state:Start:form:defaultTracker
>>> org.apache.tapestry.ValidationTrackerImpl@a25a22
>>> state:examples/input/BasicInput1:form:defaultTracker
>>> org.apache.tapestry.ValidationTrackerImpl@cb7de4
>>>
>>> Cheers,
>>>
>>> Geoff
>>>
>>>
>>
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Kevin Menard <km...@servprise.com>.
The workaround won't work if the text field is bound to a non-String value.
E.g., I have a text field bound to an Integer and I get:

Failure writing parameter value of component order/Ship:textfield_0:
Coercion of null to type java.lang.Integer (via null --> String, String -->
Long, Long --> Integer) failed: null

-- 
Kevin


On 1/24/08 11:40 AM, in article
ecd0e3310801240840y45c54e16j87f03380a3c1ca77@mail.gmail.com, "Howard Lewis
Ship" <hl...@gmail.com> wrote:

> This is a bug, please add an issue.
> 
> It is not quite a show stopper.
> 
> The difference is that blank fields used to show up as the empty
> string and are now showing up in the properties as null.
> 
> This could be addressed by a different NullFieldStrategy.  Perhaps
> Tapestry should detect that the field is of type String and use
> NullFieldStrategy that converts blank fields to the empty string.
> 
> In any case, a workaround is:
> 
> Object onSuccess() {
> 
>     if (_firstName == null) _firstName = "";
>     if (_lastName == null) _lastName = "";
> 
> _basicInput2.onActivate(_firstName, _lastName);
> return _basicInput2;
> }
> 
> 
> 
> 
> On Jan 24, 2008 4:18 AM, Geoff Callender
> <ge...@gmail.com> wrote:
>> First, is it OK to use the dev list in this way, given that 5.0.9 is
>> up for a vote?
>> 
>> Second, trying 5.0.9, I'm getting NullPointerException when a
>> TextField is left empty.  This wasn't the case in 5.0.7.  I haven't
>> tried the "translate" or "nulls" attribute of TextField but I figured
>> this is the ultimate basic case so I shouldn't need to.
>> 
>> Have I misunderstood what's required of TextField in 5.0.9?
>> 
>> Here's the form.  The exception occurs if either TextField is left
>> empty or only spaces are entered:
>> 
>>         <form t:type="form" t:id="form">
>>                 <table>
>>                         <tr>
>>                                 <td>First Name:</td>
>>                                 <td><input t:type="TextField"
>> value="firstName"/></td>
>>                         </tr>
>>                         <tr>
>>                                 <td>Last Name:</td>
>>                                 <td><input t:type="TextField"
>> value="lastName"/></td>
>>                         </tr>
>>                 </table>
>>                 <input type="submit" value="Display"/>
>>         </form>
>> And the java.  You'll see that this is an input screen that isn't set
>> up in advance.
>> 
>> public class BasicInput1 {
>> 
>>         private String _firstName;
>> 
>>         private String _lastName;
>> 
>>         @InjectPage
>>         private BasicInput2 _basicInput2;
>> 
>>         Object onSuccess() {
>>                 _basicInput2.onActivate(_firstName, _lastName);
>>                 return _basicInput2;
>>         }
>> 
>>         public String getFirstName() {
>>                 return _firstName;
>>         }
>> 
>>         public String getLastName() {
>>                 return _lastName;
>>         }
>> 
>>         public void setFirstName(String firstName) {
>>                 _firstName = firstName;
>>         }
>> 
>>         public void setLastName(String lastName) {
>>                 _lastName = lastName;
>>         }
>> }
>> 
>> The stacktrace:
>> 
>> 
>> 23:10:48,546 ERROR [RequestExceptionHandler] Processing of request
>> failed with uncaught exception:
>> org.apache.tapestry.runtime.ComponentEventException
>> org.apache.tapestry.runtime.ComponentEventException [at
>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
>> column 34]
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 973)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventRequestHandlerImpl
>> .handle(ComponentEventRequestHandlerImpl.java:62)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ImmediateActionRenderResponseFilter
>> .handle(ImmediateActionRenderResponseFilter.java:42)
>>         at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>         at
>> org
>> .apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>>         at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>         at org.apache.tapestry.services.TapestryModule
>> $39.handle(TapestryModule.java:2071)
>>         at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>         at
>> $
>> ComponentEventRequestHandler_117ab99902f
>> .handle($ComponentEventRequestHandler_117ab99902f.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
>>         at $Dispatcher_117ab999030.dispatch($Dispatcher_117ab999030.java)
>>         at $Dispatcher_117ab999024.dispatch($Dispatcher_117ab999024.java)
>>         at org.apache.tapestry.services.TapestryModule
>> $13.service(TapestryModule.java:924)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal.services.LocalizationFilter.service(LocalizationFilter.java:
>> 43)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at org.apache.tapestry.services.TapestryModule
>> $3.service(TapestryModule.java:516)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at org.apache.tapestry.services.TapestryModule
>> $2.service(TapestryModule.java:491)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>> 53)
>>         at 
>> $RequestFilter_117ab999023.service($RequestFilter_117ab999023.java)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:93)
>>         at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:84)
>>         at
>> org
>> .apache
>> .tapestry
>> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
>>         at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>         at
>> $RequestHandler_117ab99901d.service($RequestHandler_117ab99901d.java)
>>         at org.apache.tapestry.services.TapestryModule
>> $12.service(TapestryModule.java:904)
>>         at
>> $
>> HttpServletRequestHandler_117ab99901c
>> .service($HttpServletRequestHandler_117ab99901c.java)
>>         at 
>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>>         at
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>>         at
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>         at
>> org
>> .jboss
>> .web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>> 96)
>>         at
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>>         at
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>         at
>> org
>> .apache
>> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>> 230)
>>         at
>> org
>> .apache
>> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
>> 175)
>>         at
>> org
>> .jboss
>> .web
>> .tomcat
>> .security
>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>>         at
>> org
>> .jboss
>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>>         at
>> org
>> .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>> 127)
>>         at
>> org
>> .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>> 102)
>>         at
>> org
>> .jboss
>> .web
>> .tomcat
>> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>> 157)
>>         at
>> org
>> .apache
>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>         at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 262)
>>         at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844)
>>         at org.apache.coyote.http11.Http11Protocol
>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>>         at 
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
>> 446)
>>         at java.lang.Thread.run(Thread.java:613)
>> Caused by: org.apache.tapestry.runtime.ComponentEventException
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 973)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .InternalComponentResourcesImpl
>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>>         at 
>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>>         at
>> org
>> .apache
>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
>> 840)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>>         ... 50 more
>> Caused by: java.lang.NullPointerException
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils
>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>> 101)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>>         at
>> org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>> 105)
>>         at
>> org
>> .apache
>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>>         at $Response_117ab999079.sendRedirect($Response_117ab999079.java)
>>         at $Response_117ab999012.sendRedirect($Response_117ab999012.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ActionRenderResponseGeneratorImpl
>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>>         at
>> $
>> ActionRenderResponseGenerator_117ab999014
>> .generateResponse($ActionRenderResponseGenerator_117ab999014.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>>         at
>> $
>> ComponentEventResultProcessor_117ab99912d
>> .processResultValue($ComponentEventResultProcessor_117ab99912d.java)
>>         at
>> $
>> ComponentEventResultProcessor_117ab99912e
>> .processResultValue($ComponentEventResultProcessor_117ab99912e.java)
>>         at
>> $
>> ComponentEventResultProcessor_117ab999031
>> .processResultValue($ComponentEventResultProcessor_117ab999031.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentResultProcessorWrapper
>> .handleResult(ComponentResultProcessorWrapper.java:43)
>>         at org.apache.tapestry.internal.structure.ComponentPageElementImpl
>> $13.handleResult(ComponentPageElementImpl.java:936)
>>         at
>> org
>> .apache
>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>>         at 
>> jumpstart.web.pages.examples.input.BasicInput1.dispatchComponentEvent
>> (BasicInput1.java)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
>> 832)
>>         at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>>         ... 55 more
>> 
>> The exception page:
>> 
>> An unexpected application exception has occurred.
>> 
>> org.apache.tapestry.runtime.ComponentEventException
>> context
>> [Ljava.lang.String;@830a79
>> eventType
>> action
>> location
>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
>> column 34
>> 2       <body>
>> 3               <h1>Basic Input (1)</h1>
>> 4
>> 5               This page demonstrates the Form component with TextField
>> components
>> and submit button handling.  It does no validation.<br/><br/>
>> 6
>> 7               <form t:type="form" t:id="form">
>> 8                       <table>
>> 9                               <tr>
>> 10                                      <td>First Name:</td>
>> 11                                      <td><input t:type="TextField"
>> value="firstName"/></td>
>> 12                              </tr>
>> org.apache.tapestry.runtime.ComponentEventException
>> context
>> [Ljava.lang.String;@830a79
>> eventType
>> success
>> java.lang.NullPointerException
>> Stack trace
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils
>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>> 101)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>> org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>> 105)
>> org
>> .apache
>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>> org
>> .apache
>> .tapestry
>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ActionRenderResponseGeneratorImpl
>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentResultProcessorWrapper
>> .handleResult(ComponentResultProcessorWrapper.java:43)
>> org.apache.tapestry.internal.structure.ComponentPageElementImpl
>> $13.handleResult(ComponentPageElementImpl.java:936)
>> org
>> .apache
>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>> jumpstart
>> .web
>> .pages
>> .examples.input.BasicInput1.dispatchComponentEvent(BasicInput1.java)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
>> 832)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .InternalComponentResourcesImpl
>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>> org
>> .apache
>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
>> 840)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventRequestHandlerImpl
>> .handle(ComponentEventRequestHandlerImpl.java:62)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ImmediateActionRenderResponseFilter
>> .handle(ImmediateActionRenderResponseFilter.java:42)
>> org
>> .apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>> org.apache.tapestry.services.TapestryModule
>> $39.handle(TapestryModule.java:2071)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
>> org.apache.tapestry.services.TapestryModule
>> $13.service(TapestryModule.java:924)
>> org
>> .apache
>> .tapestry
>> .internal.services.LocalizationFilter.service(LocalizationFilter.java:
>> 43)
>> org.apache.tapestry.services.TapestryModule
>> $3.service(TapestryModule.java:516)
>> org.apache.tapestry.services.TapestryModule
>> $2.service(TapestryModule.java:491)
>> org
>> .apache
>> .tapestry
>> .internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>> 53)
>> org
>> .apache
>> .tapestry
>> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:93)
>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:84)
>> org
>> .apache
>> .tapestry
>> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
>> org.apache.tapestry.services.TapestryModule
>> $12.service(TapestryModule.java:904)
>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> org
>> .jboss
>> .web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>> 96)
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> org
>> .apache
>> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>> 230)
>> org
>> .apache
>> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
>> 175)
>> org
>> .jboss
>> .web
>> .tomcat
>> .security
>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>> org
>> .jboss
>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>> org
>> .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>> 127)
>> org
>> .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>> 102)
>> org
>> .jboss
>> .web
>> .tomcat
>> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>> 157)
>> org
>> .apache
>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 262)
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844)
>> org.apache.coyote.http11.Http11Protocol
>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>> java.lang.Thread.run(Thread.java:613)
>> Request
>> 
>> Context Path
>> /jumpstart
>> Request Path
>> /examples/input/basicinput1.form
>> Locale
>> en_US
>> Query Parameters
>> t:formdata
>> H4sIAAAAAAAAAFvzloG1XI1BJbUiMbcgJ7VYPzOvoLRE3ymxODPZE8Q0tCpJrShJy0zNSSkuYrDKL
>> 0rXSyxITM5I1StJLEgtLimq1EvOL0rNyUzSS0osTtVzTAKKJSaXuIF0qASnlpQWOCaXZObnqYYe5n
>> 4oevwPEwOjDwNPfGpOam5qXolfYm5qCYOQT1ZiWaJ+TmJeun5wSVFmXrp1RUEJAyfcahKc6EaiEwO
>> K8pNTi4uDS5NyM4uLgQ6FOPfwuhSTtG/zzjExMFQUlGswqBFjfbxBcSFDHQNDCQM3khjxukGaWQGx
>> 57eLkwEAAA==
>> textfield
>> textfield_0
>> b
>> Headers
>> accept
>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
>> plain;q=0.8,image/png,*/*;q=0.5
>> accept-encoding
>> gzip, deflate
>> accept-language
>> en-us
>> connection
>> keep-alive
>> content-length
>> 366
>> content-type
>> application/x-www-form-urlencoded
>> cookie
>> JSESSIONID=943A0DC434B21C8F518EC434709F7F2C
>> host
>> localhost:8180
>> referer
>> http://localhost:8180/jumpstart/examples/input/basicinput1
>> user-agent
>> Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/523.10.6
>> (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6
>> Session
>> 
>> state:Start:form:defaultTracker
>> org.apache.tapestry.ValidationTrackerImpl@a25a22
>> state:examples/input/BasicInput1:form:defaultTracker
>> org.apache.tapestry.ValidationTrackerImpl@cb7de4
>> 
>> Cheers,
>> 
>> Geoff
>> 
>> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Geoff Callender <ge...@gmail.com>.
Unfortunately the workaround causes bigger problems.

The URL it creates for the next oage is
	http://localhost:8180/jumpstart/examples/input/basicinput2//
instead of
	http://localhost:8180/jumpstart/examples/input/basicinput2/null/null

The side effects are:

1. The PageLinks on the page are no longer resolvable. eg.
	<a t:type="pagelink" t:page="Start" href="#">To Start</a>
is interpreted as
	http://localhost:8180/jumpstart/examples/input/start
instead of
	http://localhost:8180/jumpstart/start

2. Default stylesheet isn't loaded.

I'll add this to the JIRA ticket in case it influences the solution.

On 25/01/2008, at 3:40 AM, Howard Lewis Ship wrote:

> This is a bug, please add an issue.
>
> It is not quite a show stopper.
>
> The difference is that blank fields used to show up as the empty
> string and are now showing up in the properties as null.
>
> This could be addressed by a different NullFieldStrategy.  Perhaps
> Tapestry should detect that the field is of type String and use
> NullFieldStrategy that converts blank fields to the empty string.
>
> In any case, a workaround is:
>
> Object onSuccess() {
>
>    if (_firstName == null) _firstName = "";
>    if (_lastName == null) _lastName = "";
>
> 		_basicInput2.onActivate(_firstName, _lastName);
> 		return _basicInput2;
> 	}
>
>
>
>
> On Jan 24, 2008 4:18 AM, Geoff Callender
> <ge...@gmail.com> wrote:
>> First, is it OK to use the dev list in this way, given that 5.0.9 is
>> up for a vote?
>>
>> Second, trying 5.0.9, I'm getting NullPointerException when a
>> TextField is left empty.  This wasn't the case in 5.0.7.  I haven't
>> tried the "translate" or "nulls" attribute of TextField but I figured
>> this is the ultimate basic case so I shouldn't need to.
>>
>> Have I misunderstood what's required of TextField in 5.0.9?
>>
>> Here's the form.  The exception occurs if either TextField is left
>> empty or only spaces are entered:
>>
>>        <form t:type="form" t:id="form">
>>                <table>
>>                        <tr>
>>                                <td>First Name:</td>
>>                                <td><input t:type="TextField"  
>> value="firstName"/></td>
>>                        </tr>
>>                        <tr>
>>                                <td>Last Name:</td>
>>                                <td><input t:type="TextField"  
>> value="lastName"/></td>
>>                        </tr>
>>                </table>
>>                <input type="submit" value="Display"/>
>>        </form>
>> And the java.  You'll see that this is an input screen that isn't set
>> up in advance.
>>
>> public class BasicInput1 {
>>
>>        private String _firstName;
>>
>>        private String _lastName;
>>
>>        @InjectPage
>>        private BasicInput2 _basicInput2;
>>
>>        Object onSuccess() {
>>                _basicInput2.onActivate(_firstName, _lastName);
>>                return _basicInput2;
>>        }
>>
>>        public String getFirstName() {
>>                return _firstName;
>>        }
>>
>>        public String getLastName() {
>>                return _lastName;
>>        }
>>
>>        public void setFirstName(String firstName) {
>>                _firstName = firstName;
>>        }
>>
>>        public void setLastName(String lastName) {
>>                _lastName = lastName;
>>        }
>> }
>>
>> The stacktrace:
>>
>>
>> 23:10:48,546 ERROR [RequestExceptionHandler] Processing of request
>> failed with uncaught exception:
>> org.apache.tapestry.runtime.ComponentEventException
>> org.apache.tapestry.runtime.ComponentEventException [at
>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
>> column 34]
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 973)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventRequestHandlerImpl
>> .handle(ComponentEventRequestHandlerImpl.java:62)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ImmediateActionRenderResponseFilter
>> .handle(ImmediateActionRenderResponseFilter.java:42)
>>        at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>        at
>> org
>> .apache 
>> .tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>>        at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>        at org.apache.tapestry.services.TapestryModule
>> $39.handle(TapestryModule.java:2071)
>>        at
>> $
>> ComponentEventRequestHandler_117ab99912a
>> .handle($ComponentEventRequestHandler_117ab99912a.java)
>>        at
>> $
>> ComponentEventRequestHandler_117ab99902f
>> .handle($ComponentEventRequestHandler_117ab99902f.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
>>        at  
>> $Dispatcher_117ab999030.dispatch($Dispatcher_117ab999030.java)
>>        at  
>> $Dispatcher_117ab999024.dispatch($Dispatcher_117ab999024.java)
>>        at org.apache.tapestry.services.TapestryModule
>> $13.service(TapestryModule.java:924)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal 
>> .services.LocalizationFilter.service(LocalizationFilter.java:
>> 43)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at org.apache.tapestry.services.TapestryModule
>> $3.service(TapestryModule.java:516)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at org.apache.tapestry.services.TapestryModule
>> $2.service(TapestryModule.java:491)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal 
>> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>> 53)
>>        at  
>> $RequestFilter_117ab999023.service($RequestFilter_117ab999023.java)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java: 
>> 79)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:93)
>>        at org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:84)
>>        at
>> org
>> .apache
>> .tapestry
>> .ioc 
>> .internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java: 
>> 106)
>>        at
>> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>>        at
>> $RequestHandler_117ab99901d.service($RequestHandler_117ab99901d.java)
>>        at org.apache.tapestry.services.TapestryModule
>> $12.service(TapestryModule.java:904)
>>        at
>> $
>> HttpServletRequestHandler_117ab99901c
>> .service($HttpServletRequestHandler_117ab99901c.java)
>>        at  
>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>>        at
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>>        at
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 206)
>>        at
>> org
>> .jboss
>> .web 
>> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>> 96)
>>        at
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>>        at
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 206)
>>        at
>> org
>> .apache
>> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>> 230)
>>        at
>> org
>> .apache
>> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
>> 175)
>>        at
>> org
>> .jboss
>> .web
>> .tomcat
>> .security
>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>>        at
>> org
>> .jboss
>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: 
>> 84)
>>        at
>> org
>> .apache 
>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>> 127)
>>        at
>> org
>> .apache 
>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>> 102)
>>        at
>> org
>> .jboss
>> .web
>> .tomcat
>> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>> 157)
>>        at
>> org
>> .apache
>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
>> 109)
>>        at
>> org 
>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 262)
>>        at
>> org 
>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844)
>>        at org.apache.coyote.http11.Http11Protocol
>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>>        at org.apache.tomcat.util.net.JIoEndpoint 
>> $Worker.run(JIoEndpoint.java:
>> 446)
>>        at java.lang.Thread.run(Thread.java:613)
>> Caused by: org.apache.tapestry.runtime.ComponentEventException
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 973)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .InternalComponentResourcesImpl
>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>>        at  
>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>>        at
>> org
>> .apache
>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl 
>> .dispatchEvent(ComponentPageElementImpl.java:
>> 840)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>>        ... 50 more
>> Caused by: java.lang.NullPointerException
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils
>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services 
>> .ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>> 101)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>>        at
>> org 
>> .apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>> 105)
>>        at
>> org
>> .apache
>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>>        at  
>> $Response_117ab999079.sendRedirect($Response_117ab999079.java)
>>        at  
>> $Response_117ab999012.sendRedirect($Response_117ab999012.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ActionRenderResponseGeneratorImpl
>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>>        at
>> $
>> ActionRenderResponseGenerator_117ab999014
>> .generateResponse($ActionRenderResponseGenerator_117ab999014.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>>        at
>> $
>> ComponentEventResultProcessor_117ab99912d
>> .processResultValue($ComponentEventResultProcessor_117ab99912d.java)
>>        at
>> $
>> ComponentEventResultProcessor_117ab99912e
>> .processResultValue($ComponentEventResultProcessor_117ab99912e.java)
>>        at
>> $
>> ComponentEventResultProcessor_117ab999031
>> .processResultValue($ComponentEventResultProcessor_117ab999031.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentResultProcessorWrapper
>> .handleResult(ComponentResultProcessorWrapper.java:43)
>>        at  
>> org.apache.tapestry.internal.structure.ComponentPageElementImpl
>> $13.handleResult(ComponentPageElementImpl.java:936)
>>        at
>> org
>> .apache
>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>>        at jumpstart.web.pages.examples.input.BasicInput1.dispatchComponentEvent
>> (BasicInput1.java)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl 
>> .dispatchEvent(ComponentPageElementImpl.java:
>> 832)
>>        at
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>>        ... 55 more
>>
>> The exception page:
>>
>> An unexpected application exception has occurred.
>>
>> org.apache.tapestry.runtime.ComponentEventException
>> context
>> [Ljava.lang.String;@830a79
>> eventType
>> action
>> location
>> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
>> column 34
>> 2       <body>
>> 3               <h1>Basic Input (1)</h1>
>> 4
>> 5               This page demonstrates the Form component with  
>> TextField components
>> and submit button handling.  It does no validation.<br/><br/>
>> 6
>> 7               <form t:type="form" t:id="form">
>> 8                       <table>
>> 9                               <tr>
>> 10                                      <td>First Name:</td>
>> 11                                      <td><input  
>> t:type="TextField" value="firstName"/></td>
>> 12                              </tr>
>> org.apache.tapestry.runtime.ComponentEventException
>> context
>> [Ljava.lang.String;@830a79
>> eventType
>> success
>> java.lang.NullPointerException
>> Stack trace
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils
>> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>> org
>> .apache
>> .tapestry
>> .internal
>> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services 
>> .ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
>> 101)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>> org 
>> .apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
>> 105)
>> org
>> .apache
>> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>> org
>> .apache
>> .tapestry
>> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ActionRenderResponseGeneratorImpl
>> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:53)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentInstanceResultProcessor
>> .processResultValue(ComponentInstanceResultProcessor.java:25)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentResultProcessorWrapper
>> .handleResult(ComponentResultProcessorWrapper.java:43)
>> org.apache.tapestry.internal.structure.ComponentPageElementImpl
>> $13.handleResult(ComponentPageElementImpl.java:936)
>> org
>> .apache
>> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>> jumpstart
>> .web
>> .pages
>> .examples.input.BasicInput1.dispatchComponentEvent(BasicInput1.java)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl 
>> .dispatchEvent(ComponentPageElementImpl.java:
>> 832)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .InternalComponentResourcesImpl
>> .triggerEvent(InternalComponentResourcesImpl.java:154)
>> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>> org
>> .apache
>> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl 
>> .dispatchEvent(ComponentPageElementImpl.java:
>> 840)
>> org
>> .apache
>> .tapestry
>> .internal
>> .structure
>> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
>> 954)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventRequestHandlerImpl
>> .handle(ComponentEventRequestHandlerImpl.java:62)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ImmediateActionRenderResponseFilter
>> .handle(ImmediateActionRenderResponseFilter.java:42)
>> org
>> .apache 
>> .tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>> org.apache.tapestry.services.TapestryModule
>> $39.handle(TapestryModule.java:2071)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services
>> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
>> org.apache.tapestry.services.TapestryModule
>> $13.service(TapestryModule.java:924)
>> org
>> .apache
>> .tapestry
>> .internal 
>> .services.LocalizationFilter.service(LocalizationFilter.java:
>> 43)
>> org.apache.tapestry.services.TapestryModule
>> $3.service(TapestryModule.java:516)
>> org.apache.tapestry.services.TapestryModule
>> $2.service(TapestryModule.java:491)
>> org
>> .apache
>> .tapestry
>> .internal 
>> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
>> 53)
>> org
>> .apache
>> .tapestry
>> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java: 
>> 79)
>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:93)
>> org.apache.tapestry.internal.services.CheckForUpdatesFilter
>> $2.invoke(CheckForUpdatesFilter.java:84)
>> org
>> .apache
>> .tapestry
>> .ioc 
>> .internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>> org
>> .apache
>> .tapestry
>> .internal
>> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java: 
>> 106)
>> org.apache.tapestry.services.TapestryModule
>> $12.service(TapestryModule.java:904)
>> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 206)
>> org
>> .jboss
>> .web 
>> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
>> 96)
>> org
>> .apache
>> .catalina
>> .core
>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
>> 235)
>> org
>> .apache
>> .catalina
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 206)
>> org
>> .apache
>> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
>> 230)
>> org
>> .apache
>> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
>> 175)
>> org
>> .jboss
>> .web
>> .tomcat
>> .security
>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>> org
>> .jboss
>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: 
>> 84)
>> org
>> .apache 
>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>> 127)
>> org
>> .apache 
>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>> 102)
>> org
>> .jboss
>> .web
>> .tomcat
>> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
>> 157)
>> org
>> .apache
>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
>> 109)
>> org 
>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 262)
>> org 
>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844)
>> org.apache.coyote.http11.Http11Protocol
>> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 
>> 446)
>> java.lang.Thread.run(Thread.java:613)
>> Request
>>
>> Context Path
>> /jumpstart
>> Request Path
>> /examples/input/basicinput1.form
>> Locale
>> en_US
>> Query Parameters
>> t:formdata
>> H4sIAAAAAAAAAFvzloG1XI1BJbUiMbcgJ7VYPzOvoLRE3ymxODPZE8Q0tCpJrShJy0zNSSkuYrDKL0rXSyxITM5I1StJLEgtLimq1EvOL0rNyUzSS0osTtVzTAKKJSaXuIF0qASnlpQWOCaXZObnqYYe5n4oevwPEwOjDwNPfGpOam5qXolfYm5qCYOQT1ZiWaJ+TmJeun5wSVFmXrp1RUEJAyfcahKc6EaiEwOK8pNTi4uDS5NyM4uLgQ6FOPfwuhSTtG/zzjExMFQUlGswqBFjfbxBcSFDHQNDCQM3khjxukGaWQGx57eLkwEAAA==
>> textfield
>> textfield_0
>> b
>> Headers
>> accept
>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
>> plain;q=0.8,image/png,*/*;q=0.5
>> accept-encoding
>> gzip, deflate
>> accept-language
>> en-us
>> connection
>> keep-alive
>> content-length
>> 366
>> content-type
>> application/x-www-form-urlencoded
>> cookie
>> JSESSIONID=943A0DC434B21C8F518EC434709F7F2C
>> host
>> localhost:8180
>> referer
>> http://localhost:8180/jumpstart/examples/input/basicinput1
>> user-agent
>> Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/ 
>> 523.10.6
>> (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6
>> Session
>>
>> state:Start:form:defaultTracker
>> org.apache.tapestry.ValidationTrackerImpl@a25a22
>> state:examples/input/BasicInput1:form:defaultTracker
>> org.apache.tapestry.ValidationTrackerImpl@cb7de4
>>
>> Cheers,
>>
>> Geoff
>>
>>
>
>
>
> -- 
> Howard M. Lewis Ship
>
> Creator Apache Tapestry and Apache HiveMind
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Kevin Menard <km...@servprise.com>.
It would seem like a release for a release's sake.  I'd hazard to say that
almost everyone would have to upgrade immediately.

I'm actually about to drop back to 5.0.7 because between this, the
whitespace change, and the URL optimization change, I have a wholly unusable
application.  I have to dig a little deeper into the optimization to see if
I'm hitting an existing issue or a new one.  I've just been crunched for
time, unfortunately.

-- 
Kevin


On 1/24/08 1:54 PM, in article
7926817e0801241054o773b0169o88423b800309bd27@mail.gmail.com, "Jesse Kuhnert"
<jk...@gmail.com> wrote:

> There's no reason why you couldn't make a 5.0.10 release in the next
> couple of days as well..right?
> 
> (ie release early/often)
> 
> On Jan 24, 2008 1:50 PM, Massimo Lusetti <ml...@gmail.com> wrote:
>> On Jan 24, 2008 5:40 PM, Howard Lewis Ship <hl...@gmail.com> wrote:
>> 
>>> This is a bug, please add an issue.
>>> 
>>> It is not quite a show stopper.
>>> 
>>> The difference is that blank fields used to show up as the empty
>>> string and are now showing up in the properties as null.
>> 
>> BTW i find more preferable to have a null when a textfield is left empty.
>> 
>> Ciao
>> --
>> Massimo
>> http://meridio.blogspot.com
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: dev-help@tapestry.apache.org
>> 
>> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Kevin Menard <km...@servprise.com>.
Reflecting a bit more, maybe the release isn't all that bad an idea.  While
it still won't work for me, at least it'd get the ball rolling for more
frequent releases.

-- 
Kevin


On 1/24/08 1:54 PM, in article
7926817e0801241054o773b0169o88423b800309bd27@mail.gmail.com, "Jesse Kuhnert"
<jk...@gmail.com> wrote:

> There's no reason why you couldn't make a 5.0.10 release in the next
> couple of days as well..right?
> 
> (ie release early/often)
> 
> On Jan 24, 2008 1:50 PM, Massimo Lusetti <ml...@gmail.com> wrote:
>> On Jan 24, 2008 5:40 PM, Howard Lewis Ship <hl...@gmail.com> wrote:
>> 
>>> This is a bug, please add an issue.
>>> 
>>> It is not quite a show stopper.
>>> 
>>> The difference is that blank fields used to show up as the empty
>>> string and are now showing up in the properties as null.
>> 
>> BTW i find more preferable to have a null when a textfield is left empty.
>> 
>> Ciao
>> --
>> Massimo
>> http://meridio.blogspot.com
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: dev-help@tapestry.apache.org
>> 
>> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Jesse Kuhnert <jk...@gmail.com>.
There's no reason why you couldn't make a 5.0.10 release in the next
couple of days as well..right?

(ie release early/often)

On Jan 24, 2008 1:50 PM, Massimo Lusetti <ml...@gmail.com> wrote:
> On Jan 24, 2008 5:40 PM, Howard Lewis Ship <hl...@gmail.com> wrote:
>
> > This is a bug, please add an issue.
> >
> > It is not quite a show stopper.
> >
> > The difference is that blank fields used to show up as the empty
> > string and are now showing up in the properties as null.
>
> BTW i find more preferable to have a null when a textfield is left empty.
>
> Ciao
> --
> Massimo
> http://meridio.blogspot.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>



-- 
Jesse Kuhnert
Tapestry / OGNL / Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Massimo Lusetti <ml...@gmail.com>.
On Jan 24, 2008 5:40 PM, Howard Lewis Ship <hl...@gmail.com> wrote:

> This is a bug, please add an issue.
>
> It is not quite a show stopper.
>
> The difference is that blank fields used to show up as the empty
> string and are now showing up in the properties as null.

BTW i find more preferable to have a null when a textfield is left empty.

Ciao
-- 
Massimo
http://meridio.blogspot.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: 5.0.9 NullPointerException on TextField

Posted by Howard Lewis Ship <hl...@gmail.com>.
This is a bug, please add an issue.

It is not quite a show stopper.

The difference is that blank fields used to show up as the empty
string and are now showing up in the properties as null.

This could be addressed by a different NullFieldStrategy.  Perhaps
Tapestry should detect that the field is of type String and use
NullFieldStrategy that converts blank fields to the empty string.

In any case, a workaround is:

Object onSuccess() {

    if (_firstName == null) _firstName = "";
    if (_lastName == null) _lastName = "";

		_basicInput2.onActivate(_firstName, _lastName);
		return _basicInput2;
	}




On Jan 24, 2008 4:18 AM, Geoff Callender
<ge...@gmail.com> wrote:
> First, is it OK to use the dev list in this way, given that 5.0.9 is
> up for a vote?
>
> Second, trying 5.0.9, I'm getting NullPointerException when a
> TextField is left empty.  This wasn't the case in 5.0.7.  I haven't
> tried the "translate" or "nulls" attribute of TextField but I figured
> this is the ultimate basic case so I shouldn't need to.
>
> Have I misunderstood what's required of TextField in 5.0.9?
>
> Here's the form.  The exception occurs if either TextField is left
> empty or only spaces are entered:
>
>         <form t:type="form" t:id="form">
>                 <table>
>                         <tr>
>                                 <td>First Name:</td>
>                                 <td><input t:type="TextField" value="firstName"/></td>
>                         </tr>
>                         <tr>
>                                 <td>Last Name:</td>
>                                 <td><input t:type="TextField" value="lastName"/></td>
>                         </tr>
>                 </table>
>                 <input type="submit" value="Display"/>
>         </form>
> And the java.  You'll see that this is an input screen that isn't set
> up in advance.
>
> public class BasicInput1 {
>
>         private String _firstName;
>
>         private String _lastName;
>
>         @InjectPage
>         private BasicInput2 _basicInput2;
>
>         Object onSuccess() {
>                 _basicInput2.onActivate(_firstName, _lastName);
>                 return _basicInput2;
>         }
>
>         public String getFirstName() {
>                 return _firstName;
>         }
>
>         public String getLastName() {
>                 return _lastName;
>         }
>
>         public void setFirstName(String firstName) {
>                 _firstName = firstName;
>         }
>
>         public void setLastName(String lastName) {
>                 _lastName = lastName;
>         }
> }
>
> The stacktrace:
>
>
> 23:10:48,546 ERROR [RequestExceptionHandler] Processing of request
> failed with uncaught exception:
> org.apache.tapestry.runtime.ComponentEventException
> org.apache.tapestry.runtime.ComponentEventException [at
> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
> column 34]
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 973)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentEventRequestHandlerImpl
> .handle(ComponentEventRequestHandlerImpl.java:62)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ImmediateActionRenderResponseFilter
> .handle(ImmediateActionRenderResponseFilter.java:42)
>         at
> $
> ComponentEventRequestHandler_117ab99912a
> .handle($ComponentEventRequestHandler_117ab99912a.java)
>         at
> org
> .apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>         at
> $
> ComponentEventRequestHandler_117ab99912a
> .handle($ComponentEventRequestHandler_117ab99912a.java)
>         at org.apache.tapestry.services.TapestryModule
> $39.handle(TapestryModule.java:2071)
>         at
> $
> ComponentEventRequestHandler_117ab99912a
> .handle($ComponentEventRequestHandler_117ab99912a.java)
>         at
> $
> ComponentEventRequestHandler_117ab99902f
> .handle($ComponentEventRequestHandler_117ab99902f.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
>         at $Dispatcher_117ab999030.dispatch($Dispatcher_117ab999030.java)
>         at $Dispatcher_117ab999024.dispatch($Dispatcher_117ab999024.java)
>         at org.apache.tapestry.services.TapestryModule
> $13.service(TapestryModule.java:924)
>         at
> org
> .apache
> .tapestry
> .internal.services.LocalizationFilter.service(LocalizationFilter.java:
> 43)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at org.apache.tapestry.services.TapestryModule
> $3.service(TapestryModule.java:516)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at org.apache.tapestry.services.TapestryModule
> $2.service(TapestryModule.java:491)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at
> org
> .apache
> .tapestry
> .internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
> 53)
>         at $RequestFilter_117ab999023.service($RequestFilter_117ab999023.java)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at
> org
> .apache
> .tapestry
> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at org.apache.tapestry.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:93)
>         at org.apache.tapestry.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:84)
>         at
> org
> .apache
> .tapestry
> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
>         at
> org
> .apache
> .tapestry
> .internal
> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
>         at
> $RequestHandler_117ab999025.service($RequestHandler_117ab999025.java)
>         at
> $RequestHandler_117ab99901d.service($RequestHandler_117ab99901d.java)
>         at org.apache.tapestry.services.TapestryModule
> $12.service(TapestryModule.java:904)
>         at
> $
> HttpServletRequestHandler_117ab99901c
> .service($HttpServletRequestHandler_117ab99901c.java)
>         at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>         at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
>         at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
> org
> .jboss
> .web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
> 96)
>         at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
>         at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 230)
>         at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 175)
>         at
> org
> .jboss
> .web
> .tomcat
> .security
> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at
> org
> .jboss
> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         at
> org
> .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> 127)
>         at
> org
> .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> 102)
>         at
> org
> .jboss
> .web
> .tomcat
> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
> 157)
>         at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 262)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
>         at org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
> 446)
>         at java.lang.Thread.run(Thread.java:613)
> Caused by: org.apache.tapestry.runtime.ComponentEventException
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 973)
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .InternalComponentResourcesImpl
> .triggerEvent(InternalComponentResourcesImpl.java:154)
>         at org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
>         at
> org
> .apache
> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
> 840)
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 954)
>         ... 50 more
> Caused by: java.lang.NullPointerException
>         at
> org
> .apache
> .tapestry
> .internal
> .TapestryInternalUtils
> .escapePercentAndSlash(TapestryInternalUtils.java:514)
>         at
> org
> .apache
> .tapestry
> .internal
> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
>         at
> org
> .apache
> .tapestry
> .internal
> .services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
> 101)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>         at
> org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
> 105)
>         at
> org
> .apache
> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>         at
> org
> .apache
> .tapestry
> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>         at $Response_117ab999079.sendRedirect($Response_117ab999079.java)
>         at $Response_117ab999012.sendRedirect($Response_117ab999012.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ActionRenderResponseGeneratorImpl
> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>         at
> $
> ActionRenderResponseGenerator_117ab999014
> .generateResponse($ActionRenderResponseGenerator_117ab999014.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInstanceResultProcessor
> .processResultValue(ComponentInstanceResultProcessor.java:53)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInstanceResultProcessor
> .processResultValue(ComponentInstanceResultProcessor.java:25)
>         at
> $
> ComponentEventResultProcessor_117ab99912d
> .processResultValue($ComponentEventResultProcessor_117ab99912d.java)
>         at
> $
> ComponentEventResultProcessor_117ab99912e
> .processResultValue($ComponentEventResultProcessor_117ab99912e.java)
>         at
> $
> ComponentEventResultProcessor_117ab999031
> .processResultValue($ComponentEventResultProcessor_117ab999031.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentResultProcessorWrapper
> .handleResult(ComponentResultProcessorWrapper.java:43)
>         at org.apache.tapestry.internal.structure.ComponentPageElementImpl
> $13.handleResult(ComponentPageElementImpl.java:936)
>         at
> org
> .apache
> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
>         at jumpstart.web.pages.examples.input.BasicInput1.dispatchComponentEvent
> (BasicInput1.java)
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
> 832)
>         at
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 954)
>         ... 55 more
>
> The exception page:
>
> An unexpected application exception has occurred.
>
> org.apache.tapestry.runtime.ComponentEventException
> context
> [Ljava.lang.String;@830a79
> eventType
> action
> location
> classpath:jumpstart/web/pages/examples/input/BasicInput1.tml, line 7,
> column 34
> 2       <body>
> 3               <h1>Basic Input (1)</h1>
> 4
> 5               This page demonstrates the Form component with TextField components
> and submit button handling.  It does no validation.<br/><br/>
> 6
> 7               <form t:type="form" t:id="form">
> 8                       <table>
> 9                               <tr>
> 10                                      <td>First Name:</td>
> 11                                      <td><input t:type="TextField" value="firstName"/></td>
> 12                              </tr>
> org.apache.tapestry.runtime.ComponentEventException
> context
> [Ljava.lang.String;@830a79
> eventType
> success
> java.lang.NullPointerException
> Stack trace
> org
> .apache
> .tapestry
> .internal
> .TapestryInternalUtils
> .escapePercentAndSlash(TapestryInternalUtils.java:514)
> org
> .apache
> .tapestry
> .internal
> .TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:504)
> org
> .apache
> .tapestry
> .internal
> .services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:
> 101)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
> org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:
> 105)
> org
> .apache
> .tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
> org
> .apache
> .tapestry
> .internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
> org
> .apache
> .tapestry
> .internal
> .services
> .ActionRenderResponseGeneratorImpl
> .generateResponse(ActionRenderResponseGeneratorImpl.java:45)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInstanceResultProcessor
> .processResultValue(ComponentInstanceResultProcessor.java:53)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentInstanceResultProcessor
> .processResultValue(ComponentInstanceResultProcessor.java:25)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentResultProcessorWrapper
> .handleResult(ComponentResultProcessorWrapper.java:43)
> org.apache.tapestry.internal.structure.ComponentPageElementImpl
> $13.handleResult(ComponentPageElementImpl.java:936)
> org
> .apache
> .tapestry.internal.services.EventImpl.storeResult(EventImpl.java:60)
> jumpstart
> .web
> .pages
> .examples.input.BasicInput1.dispatchComponentEvent(BasicInput1.java)
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
> 832)
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 954)
> org
> .apache
> .tapestry
> .internal
> .structure
> .InternalComponentResourcesImpl
> .triggerEvent(InternalComponentResourcesImpl.java:154)
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:388)
> org
> .apache
> .tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:
> 840)
> org
> .apache
> .tapestry
> .internal
> .structure
> .ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:
> 954)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentEventRequestHandlerImpl
> .handle(ComponentEventRequestHandlerImpl.java:62)
> org
> .apache
> .tapestry
> .internal
> .services
> .ImmediateActionRenderResponseFilter
> .handle(ImmediateActionRenderResponseFilter.java:42)
> org
> .apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
> org.apache.tapestry.services.TapestryModule
> $39.handle(TapestryModule.java:2071)
> org
> .apache
> .tapestry
> .internal
> .services
> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:133)
> org.apache.tapestry.services.TapestryModule
> $13.service(TapestryModule.java:924)
> org
> .apache
> .tapestry
> .internal.services.LocalizationFilter.service(LocalizationFilter.java:
> 43)
> org.apache.tapestry.services.TapestryModule
> $3.service(TapestryModule.java:516)
> org.apache.tapestry.services.TapestryModule
> $2.service(TapestryModule.java:491)
> org
> .apache
> .tapestry
> .internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
> 53)
> org
> .apache
> .tapestry
> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
> org.apache.tapestry.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:93)
> org.apache.tapestry.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:84)
> org
> .apache
> .tapestry
> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
> org
> .apache
> .tapestry
> .internal
> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> org.apache.tapestry.services.TapestryModule
> $12.service(TapestryModule.java:904)
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org
> .jboss
> .web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
> 96)
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 230)
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 175)
> org
> .jboss
> .web
> .tomcat
> .security
> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> org
> .jboss
> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> org
> .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> 127)
> org
> .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> 102)
> org
> .jboss
> .web
> .tomcat
> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
> 157)
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 262)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
> org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:583)
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> java.lang.Thread.run(Thread.java:613)
> Request
>
> Context Path
> /jumpstart
> Request Path
> /examples/input/basicinput1.form
> Locale
> en_US
> Query Parameters
> t:formdata
> H4sIAAAAAAAAAFvzloG1XI1BJbUiMbcgJ7VYPzOvoLRE3ymxODPZE8Q0tCpJrShJy0zNSSkuYrDKL0rXSyxITM5I1StJLEgtLimq1EvOL0rNyUzSS0osTtVzTAKKJSaXuIF0qASnlpQWOCaXZObnqYYe5n4oevwPEwOjDwNPfGpOam5qXolfYm5qCYOQT1ZiWaJ+TmJeun5wSVFmXrp1RUEJAyfcahKc6EaiEwOK8pNTi4uDS5NyM4uLgQ6FOPfwuhSTtG/zzjExMFQUlGswqBFjfbxBcSFDHQNDCQM3khjxukGaWQGx57eLkwEAAA==
> textfield
> textfield_0
> b
> Headers
> accept
> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
> plain;q=0.8,image/png,*/*;q=0.5
> accept-encoding
> gzip, deflate
> accept-language
> en-us
> connection
> keep-alive
> content-length
> 366
> content-type
> application/x-www-form-urlencoded
> cookie
> JSESSIONID=943A0DC434B21C8F518EC434709F7F2C
> host
> localhost:8180
> referer
> http://localhost:8180/jumpstart/examples/input/basicinput1
> user-agent
> Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/523.10.6
> (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6
> Session
>
> state:Start:form:defaultTracker
> org.apache.tapestry.ValidationTrackerImpl@a25a22
> state:examples/input/BasicInput1:form:defaultTracker
> org.apache.tapestry.ValidationTrackerImpl@cb7de4
>
> Cheers,
>
> Geoff
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org