Excellent -- thanks for checking it out.
Rich
Patrick Osborne (JIRA) wrote:
[ http://issues.apache.org/jira/browse/BEEHIVE-785?page=comments#action_12312583 ]
Patrick Osborne commented on BEEHIVE-785:
-----------------------------------------
I verified this fix with my applications and I'm getting the behaviour I
expect. Thanks for the fix Rich.
Illegal argument exception when clicking a link which contains a request
parameter
----------------------------------------------------------------------------------
Key: BEEHIVE-785
URL: http://issues.apache.org/jira/browse/BEEHIVE-785
Project: Beehive
Type: Bug
Components: NetUI
Environment: Windows and Linux with Tomcat.
Reporter: Patrick Osborne
Assignee: Krista Baker
Found the following with SVN revision: 179480
I receive the following runtime exception when clicking on a link with request
parameters. The actions that fail take no parameters( forms ). Form posting
and action links without parameters work as expected.
Exception: java.lang.RuntimeException: Exception processing bean and request
parameters:
caused by : java.lang.IllegalArgumentException: No bean specified Stack
Trace: java.lang.RuntimeException: Exception processing bean and request
parameters:
at
org.apache.beehive.netui.pageflow.ProcessPopulate.handleStrutsProperties(ProcessPopulate.java:347)
at
org.apache.beehive.netui.pageflow.ProcessPopulate.populate(ProcessPopulate.java:288)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processPopulate(PageFlowRequestProcessor.java:390)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:600)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:864)
at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:600)
at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException: No bean specified
at
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
at
org.apache.beehive.netui.pageflow.ProcessPopulate.handleStrutsProperties(ProcessPopulate.java:343)
... 34 more
The html generated looks like this:
<td class="datagrid" align="center"><a
href="/taskWeb/task/deleteTask.do?task.id=732"><span>delete</span></a></td>
<td class="datagrid" align="center"><a
href="/taskWeb/task/viewFiles.do?task.id=732"><span>view</span></a></td>
I generate the links via tags in a datagrid, like this:
<netui-data:rows>
<netui-data:anchorCell cellAlign="center" value="delete"
action="deleteTask" >
<netui:parameter name="task.id" value="${container.item.id}" />
</netui-data:anchorCell>
<netui-data:anchorCell cellAlign="center" value="view" action="viewFiles"
>
<netui:parameter name="task.id" value="${container.item.id}" />
</netui-data:anchorCell>
<netui-data:spanCell cellAlign="center" value="${container.item.id}"/>
<netui-data:spanCell cellAlign="center" value="${container.item.name}"/>
.....
The data source is defined as follows:
<netui-data:dataGrid dataSource="pageFlow.data.taskList" name="taskList" >
<netui-data:configurePager defaultPageSize="20" />
taskList is a List of bean objects: List<TaskDto> taskList
TaskDto is a pure java bean with just getters / setters.