Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces: почему при клике на линк не вызывается метод? / 4 сообщений из 4, страница 1 из 1
27.04.2013, 16:55:20
    #38242661
Африканец
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces: почему при клике на линк не вызывается метод?
Hi All,

Есть такой код на форме:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<a4j:commandLink render="multiplePanel" action="#{runReportBean.removeMultipleValue(item.id, 0)}">
	<br/>
	Remove the first one
</a4j:commandLink>							                


<ui:repeat var="rec" varStatus="recStatus" value="#{runReportBean.paramValues[item.id]}" rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}">
	<a4j:commandLink render="multiplePanel" action="#{runReportBean.removeMultipleValue(item.id, recStatus.index)}">
		<br/>
		<h:outputText value="#{recStatus.index} #{rec}" />
	</a4j:commandLink>							                
</ui:repeat>



Почему-то метод removeMultipleValue() при клике на первый линк вызывается, а при клике на линк из цикла - нет.

Что я делаю не так?
...
Рейтинг: 0 / 0
27.04.2013, 21:36:16
    #38242759
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces: почему при клике на линк не вызывается метод?
замени на a4j:repeat, не зря же его сделали про готовом ui:repeat
...
Рейтинг: 0 / 0
27.04.2013, 22:49:24
    #38242798
Африканец
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces: почему при клике на линк не вызывается метод?
забыл никзамени на a4j:repeat, не зря же его сделали про готовом ui:repeat
Заменил, теперь при нажатии на линк вне цикла цикл отрисовывается пустым, как и rich:dataTable в моем предыдущем сообщении: www.sql.ru/forum/actualthread.aspx?tid=1019952

При нажатии на линк внутри цикла возикает MethodNotFoundException:

авторWARNING: #{runReportBean.removeMultipleValue(item.id, recStatus.index)}: java.lang.NullPointerException
javax.faces.FacesException: #{runReportBean.removeMultipleValue(item.id, recStatus.index)}: java.lang.NullPointerException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:110)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at org.richfaces.component.RowKeyContextEventWrapper.broadcast(RowKeyContextEventWrapper.java:104)
at org.richfaces.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:448)
at javax.faces.component.UIData.broadcast(UIData.java:1093)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.MethodNotFoundException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:104)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 32 more
Caused by: java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)
at org.apache.el.util.ReflectionUtil.isAssignableFrom(ReflectionUtil.java:319)
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:185)
at org.apache.el.parser.AstValue.invoke(AstValue.java:257)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:43)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:56)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 33 more
...
Рейтинг: 0 / 0
27.04.2013, 23:06:14
    #38242805
Африканец
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichFaces: почему при клике на линк не вызывается метод?
Заменил a4j:commandLink на h:commandLink, все заработало как надо.

Код: xml
1.
2.
3.
4.
5.
6.
<ui:repeat var="rec" varStatus="recStatus" value="#{runReportBean.paramValues[item.id]}" rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}">
	<h:commandLink render="multiplePanel" action="#{runReportBean.removeMultipleValue(item.id, recStatus.index)}">
		<br/>
		<h:outputText value="#{recStatus.index} #{rec}" />
	</h:commandLink>							                
</ui:repeat>



Как-то не слава Богу ведут себя a4j-циклы в таких ситуациях...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces: почему при клике на линк не вызывается метод? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]