You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by walidh <wa...@gmail.com> on 2011/11/10 16:24:48 UTC

get a value from the select component

Hi,
I'm creating a registration form (not using BeanEditForm) and I could
display a select component with a list of values using in my .tml : 
<t:select t:id="countries"/>
Those values come from a Countries enum type.
However in the java file corresponding to the form page (Register.java), I
could not get the selected value of the form. I get NullPointerException as
soon as I submit the form.
I have declared the enum in Register.java like this : 
	@Property
	@Persist
	private Countries countries;
But I could not get the selected value.

I tried many things like declaring the following method in my Enum class.

public static void contributeTypeCoercer(Configuration<CoercionTuple>
configuration) {
        configuration.add(new CoercionTuple<String, Countries>(
            String.class,
            Countries.class,
            StringToEnumCoercion.create(Countries.class)
        ));
    }

It should be easy to do but I could not do this, thanks for helping a
Tapestry newbie.


--
View this message in context: http://tapestry.1045711.n5.nabble.com/get-a-value-from-the-select-component-tp4981399p4981399.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

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


Re: get a value from the select component

Posted by Taha Hafeez Siddiqi <ta...@gmail.com>.
Hi

The error seems to be in 

onValidate()

Are you using onValidateFromForm() i.e. are you specifying the component otherwise it will be called for each component.

Also, if you are using validations in the form e.g. validate='required' etc then you have to check it in onValidate() by using

if(form.getHasErrors()){
   return;
}

regards
Taha

On Nov 10, 2011, at 9:36 PM, walidh wrote:

> NullPointer


Re: get a value from the select component

Posted by walidh <wa...@gmail.com>.
here is the stack trace 

[ERROR] ioc.Registry org.apache.tapestry5.runtime.ComponentEventException
[ERROR] ioc.Registry Operations trace:
[ERROR] ioc.Registry [ 1] Triggering event 'action' on
Register:registrationform
[ERROR] ioc.Registry [ 2] Triggering event 'validate' on Register:street1
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
with uncaugh
exception: org.apache.tapestry5.runtime.ComponentEventException
org.apache.tapestry5.runtime.ComponentEventException [at
classpath:com/shopff/pages/Regi
er.tml, line 10]
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEvent
iggering(ComponentPageElementImpl.java:1152)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(
mponentPageElementImpl.java:72)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Com
nentPageElementImpl.java:1077)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Com
nentPageElementImpl.java:1075)
        at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTracke
mpl.java:65)
        at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadO
rationTracker.java:68)
        at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.inv
e(ComponentPageElementResourcesImpl.java:141)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerConte
Event(ComponentPageElementImpl.java:1073)
        at
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handl
ComponentEventRequestHandlerImpl.java:81)
        at
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.ha
le(ImmediateActionRenderResponseFilter.java:42)
        at
$ComponentEventRequestHandler_1338e00ae0d.handle($ComponentEventRequestHandle
1338e00ae0d.java)
        at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
        at
$ComponentEventRequestHandler_1338e00ae0d.handle($ComponentEventRequestHandle
1338e00ae0d.java)
        at
org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:25
)
        at
$ComponentEventRequestHandler_1338e00ae0d.handle($ComponentEventRequestHandle
1338e00ae0d.java)
        at
$ComponentEventRequestHandler_1338e00aca8.handle($ComponentEventRequestHandle
1338e00aca8.java)
        at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.hand
ComponentEvent(ComponentRequestHandlerTerminator.java:43)
        at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(I
tializeActivePageName.java:39)
        at
$ComponentRequestHandler_1338e00acaa.handleComponentEvent($ComponentRequestHa
ler_1338e00acaa.java)
        at
$ComponentRequestHandler_1338e00ac8e.handleComponentEvent($ComponentRequestHa
ler_1338e00ac8e.java)
        at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(Comp
entEventDispatcher.java:46)
        at $Dispatcher_1338e00ac90.dispatch($Dispatcher_1338e00ac90.java)
        at $Dispatcher_1338e00ac8b.dispatch($Dispatcher_1338e00ac8b.java)
        at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service
apestryModule.java:321)
        at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErro
ilter.java:26)
        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:98

        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:97

        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesF
ter.java:90)
        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at com.shopff.services.AppModule$1.service(AppModule.java:93)
        at
$RequestFilter_1338e00ac87.service($RequestFilter_1338e00ac87.java)
        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckFo
pdatesFilter.java:90)
        at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckFo
pdatesFilter.java:81)
        at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentB
rier.java:85)
        at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckFor
datesFilter.java:103)
        at
$RequestHandler_1338e00ac8c.service($RequestHandler_1338e00ac8c.java)
        at
$RequestHandler_1338e00ac81.service($RequestHandler_1338e00ac81.java)
        at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTermina
r.service(TapestryModule.java:272)
        at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
        at
$HttpServletRequestHandler_1338e00ac83.service($HttpServletRequestHandler_133
00ac83.java)
        at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPath
ilter.java:62)
        at
$HttpServletRequestFilter_1338e00ac80.service($HttpServletRequestFilter_1338e
ac80.java)
        at
$HttpServletRequestHandler_1338e00ac83.service($HttpServletRequestHandler_133
00ac83.java)
        at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:92

        at
$HttpServletRequestHandler_1338e00ac83.service($HttpServletRequestHandler_133
00ac83.java)
        at
$HttpServletRequestHandler_1338e00ac7e.service($HttpServletRequestHandler_133
00ac7e.java)
        at
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.
va:1148)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerColle
ion.java:230)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:8
)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/sh
ff/pages/Register.tml, line 63]
        at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:6
)
        at
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:542
        at
org.apache.tapestry5.corelib.components.Form$onAction$invocation_1338e00dc75.
vokeAdvisedMethod(Form$onAction$invocation_1338e00dc75.java)
        at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proc
d(AbstractComponentMethodInvocation.java:77)
        at
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice
ava:37)
        at
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
        at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proc
d(AbstractComponentMethodInvocation.java:86)
        at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
        at
org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_1338e00ae6
invoke(Form$MethodAccess_onAction_1338e00ae6b.java)
        at
org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeE
ntHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
        at
org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(O
ventWorker.java:157)
        at
org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.
va:136)
        at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proc
d(AbstractComponentMethodInvocation.java:86)
        at
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEven
ComponentPageElementImpl.java:950)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEvent
iggering(ComponentPageElementImpl.java:1132)
        ... 68 more
Caused by: org.apache.tapestry5.ioc.internal.OperationException [at
classpath:com/shopff
ages/Register.tml, line 63]
        at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(Operatio
rackerImpl.java:102)
        at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTracke
mpl.java:69)
        at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadO
rationTracker.java:68)
        at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.inv
e(ComponentPageElementResourcesImpl.java:141)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerConte
Event(ComponentPageElementImpl.java:1073)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerEvent
omponentPageElementImpl.java:1046)
        at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.trigge
vent(InternalComponentResourcesImpl.java:277)
        at
org.apache.tapestry5.internal.services.FieldValidationSupportImpl.validate(Fi
dValidationSupportImpl.java:164)
        at
$FieldValidationSupport_1338e00ad0f.validate($FieldValidationSupport_1338e00a
f.java)
        at
org.apache.tapestry5.corelib.base.AbstractTextField.processSubmission(Abstrac
extField.java:211)
        at
org.apache.tapestry5.corelib.base.AbstractField.processSubmission(AbstractFie
.java:190)
        at
org.apache.tapestry5.corelib.base.AbstractField.access$100(AbstractField.java
8)
        at
org.apache.tapestry5.corelib.base.AbstractField$ProcessSubmission.execute(Abs
actField.java:95)
        at
org.apache.tapestry5.corelib.base.AbstractField$ProcessSubmission.execute(Abs
actField.java:89)
        at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:6
)
        ... 83 more
Caused by: org.apache.tapestry5.runtime.ComponentEventException [at
classpath:com/shopff
ages/Register.tml, line 63]
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEvent
iggering(ComponentPageElementImpl.java:1152)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(
mponentPageElementImpl.java:72)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Com
nentPageElementImpl.java:1077)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Com
nentPageElementImpl.java:1075)
        at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTracke
mpl.java:65)
        ... 97 more
Caused by: java.lang.NullPointerException
        at com.shopff.pages.Register.onValidate(Register.java:223)
        at
com.shopff.pages.Register$MethodAccess_onValidate_1338e00ae5b.invoke(Register
ethodAccess_onValidate_1338e00ae5b.java)
        at
org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeE
ntHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
        at
org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(O
ventWorker.java:157)
        at
org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.
va:136)
        at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proc
d(AbstractComponentMethodInvocation.java:86)
        at com.shopff.pages.Register.dispatchComponentEvent(Register.java)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEven
ComponentPageElementImpl.java:942)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEvent
iggering(ComponentPageElementImpl.java:1132)
        ... 101 more
[INFO] AppModule.TimingFilter Request time: 2296 ms

--
View this message in context: http://tapestry.1045711.n5.nabble.com/get-a-value-from-the-select-component-tp4981399p4981537.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

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