Carsten Ziegeler wrote:
Ate Douma wrote:
Yes it is supposed to work, and it works very well in Jetspeed.
:( So the problem must be on my side
The jpetstore sample is working, the database seems to work as well.
When clicking on a category, e.g. cat, I get the following exception. I
added the stacktrace and the debug output. Perhaps you can give me a
hint where I can look at to find the bug?
The ActionForm CategoryBean used by the Catalog.jsp seems to be filled in during
the actionRequest and stored in the session. During the subsequent renderRequest
the same CategoryBean *is* retrieved again. So, if the DefineTag is getting a
null
value (from catalogBean .getCategory() or .getProductList()) I suggest debugging
the CategoryBean.viewCategory() method which is invoked by the ActionBean
during the actionRequest. That should retrieve and fill in the required values
from
the database. Then, if that works, debug the getCategory() and getProductList()
method when invoked from the defineTag.
Regards, Ate
Thanks
Carsten
----
Define tag cannot set a null value
Error Type javax.servlet.jsp.JspException
Stacktrace
org.apache.struts.taglib.bean.DefineTag.doEndTag(DefineTag.java:238)
org.apache.jsp.catalog.Category_jsp._jspService(org.apache.jsp.catalog.Category_jsp:300)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
org.apache.portals.bridges.struts.PortletServletRequestDispatcher.invoke(PortletServletRequestDispatcher.java:128)
org.apache.portals.bridges.struts.PortletServletRequestDispatcher.include(PortletServletRequestDispatcher.java:146)
org.apache.struts.action.RequestProcessor.doInclude(RequestProcessor.java:1087)
----
This is the debug output:
DEBUG [http-8080-Processor25] - process path:
/shop/viewCategory.shtml?categoryId=CATS, requestType: ACTION
DEBUG [http-8080-Processor25] - Get module name for path
/shop/viewCategory.shtml
DEBUG [http-8080-Processor25] - Module name found: default
DEBUG [http-8080-Processor25] - Processing a 'GET' for path
'/shop/viewCategory'
DEBUG [http-8080-Processor25] - Looking for ActionForm bean instance in
scope '
session' under attribute key 'catalogBean'
DEBUG [http-8080-Processor25] - Can recycle existing ActionForm
instance of type 'com.ibatis.jpetstore.presentation.CatalogBean'?: true
DEBUG [http-8080-Processor25] - -->
[EMAIL PROTECTED]
DEBUG [http-8080-Processor25] - Storing ActionForm bean instance in
scope 'session' under attribute key 'catalogBean'
DEBUG [http-8080-Processor25] - Populating bean properties from this
request
DEBUG [http-8080-Processor25] -
BeanUtils.populate([EMAIL PROTECTED],
{cocoon-portal-event=[Ljava.lang.String;@a2bd15, _spage
=[Ljava.lang.String;@2bc184, _sorig=[Ljava.lang.String;@adc446})
DEBUG [http-8080-Processor25] setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], cocoon-portal-event, [21])
DEBUG [http-8080-Processor25] -
setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], _spage, [/shop/viewCategory.shtml?categoryId=CATS])
DEBUG [http-8080-Processor25] -
setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], _sorig, [/shop/index.shtml])
DEBUG [http-8080-Processor25] - Looking for Action instance for class
com.ibatis.struts.BeanAction
DEBUG [http-8080-Processor25] - Returning existing Action instance
DEBUG [http-8080-Processor25] -
processForwardConfig(ForwardConfig[name=success,
path=/shop/showCategory.shtml,redirect=true,contextRelative=false,module=null])
DEBUG [http-8080-Processor25] - action render redirected page:
/shop/showCategory.shtml
DEBUG [http-8080-Processor24] - process path: /shop/showCategory.shtml,
requestT
ype: VIEW
DEBUG [http-8080-Processor24] - Get module name for path
/shop/showCategory.shtm
l
DEBUG [http-8080-Processor24] - Module name found: default
DEBUG [http-8080-Processor24] - Processing a 'GET' for path
'/shop/showCategory'
DEBUG [http-8080-Processor24] - Looking for ActionForm bean instance in
scope '
session' under attribute key 'catalogBean'
DEBUG [http-8080-Processor24] - Can recycle existing ActionForm
instance of typ
e 'com.ibatis.jpetstore.presentation.CatalogBean'?: true
DEBUG [http-8080-Processor24] - -->
com.ibatis.jpetstore.presentation.CatalogBe
[EMAIL PROTECTED]
DEBUG [http-8080-Processor24] - Storing ActionForm bean instance in
scope 'sess
ion' under attribute key 'catalogBean'
DEBUG [http-8080-Processor24] - Populating bean properties from this
request
DEBUG [http-8080-Processor24] -
BeanUtils.populate(com.ibatis.jpetstore.presenta
[EMAIL PROTECTED], {_kra=[Ljava.lang.String;@182815a,
cocoon-portal-event=[Ljava.lang.String;@fa4dec,
_spage=[Ljava.lang.String;@111e86f})
DEBUG [http-8080-Processor24] -
setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], _kra, [1])
DEBUG [http-8080-Processor24] -
setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], cocoon-portal-event, [0])
DEBUG [http-8080-Processor24] -
setProperty(com.ibatis.jpetstore.presentation.
[EMAIL PROTECTED], _spage, [/shop/showCategory.shtml])
DEBUG [http-8080-Processor24] - Delegating via include to
'/catalog/Category.jsp'
DEBUG [http-8080-Processor24] - invoking dispatch to
:/catalog/Category.jsp, from VIEW /shop/showCategory.shtml
DEBUG [http-8080-Processor24] - JspEngine --> /catalog/Category.jsp
DEBUG [http-8080-Processor24] - ServletPath:
/catalog/Category.jsp
DEBUG [http-8080-Processor24] - PathInfo: null
DEBUG [http-8080-Processor24] - RealPath:
D:\apps\jakarta-tomcat-5.5.9\webapps\jpetstore\catalog\Category.jsp
DEBUG [http-8080-Processor24] - RequestURI:
/jpetstore/catalog/Category.jsp
DEBUG [http-8080-Processor24] - QueryString: null
DEBUG [http-8080-Processor24] - Request Params:
DEBUG [http-8080-Processor24] - _kra = 1
DEBUG [http-8080-Processor24] - cocoon-portal-event = 0
DEBUG [http-8080-Processor24] - _spage =
/shop/showCategory.sht
DEBUG [http-8080-Processor24] - Initializing,
config='org.apache.struts.taglib.bean.LocalStrings', returnNull=true
DEBUG [http-8080-Processor24] - getMessage(de_DE,define.null)
DEBUG [http-8080-Processor24] - loadLocale(de_DE)
DEBUG [http-8080-Processor24] - Loading resource
'org/apache/struts/taglib/bean/LocalStrings_de_DE.properties'
DEBUG [http-8080-Processor24] - Loading resource completed
DEBUG [http-8080-Processor24] - loadLocale(de)
DEBUG [http-8080-Processor24] - Loading resource
'org/apache/struts/taglib/bean/LocalStrings_de.properties'
DEBUG [http-8080-Processor24] - Loading resource completed
DEBUG [http-8080-Processor24] - loadLocale()
DEBUG [http-8080-Processor24] - Loading resource
'org/apache/struts/taglib/bean/LocalStrings.properties'
DEBUG [http-8080-Processor24] - Loading resource completed
DEBUG [http-8080-Processor24] - Saving message key '.message.message
DEBUG [http-8080-Processor24] - Saving message key '.include.read
DEBUG [http-8080-Processor24] - Saving message key '.header.get
DEBUG [http-8080-Processor24] - Saving message key '.include.destination
DEBUG [http-8080-Processor24] - Saving message key '.struts.missing
DEBUG [http-8080-Processor24] - Saving message key '.include.url
DEBUG [http-8080-Processor24] - Saving message key '.cookie.get
DEBUG [http-8080-Processor24] - Saving message key '.parameter.get
DEBUG [http-8080-Processor24] - Saving message key '.include.forwards
DEBUG [http-8080-Processor24] - Saving message key '.include.malformed
DEBUG [http-8080-Processor24] - Saving message key
'.size.noCollectionOrName
DEBUG [http-8080-Processor24] - Saving message key '.message.resources
DEBUG [http-8080-Processor24] - Saving message key '.page.selector
DEBUG [http-8080-Processor24] - Saving message key '.message.property
DEBUG [http-8080-Processor24] - Saving message key '.resource.get
DEBUG [http-8080-Processor24] - Saving message key '.write.format
DEBUG [http-8080-Processor24] - Saving message key '.include.forward
DEBUG [http-8080-Processor24] - Saving message key '.define.null
DEBUG [http-8080-Processor24] - Saving message key '.struts.selector
DEBUG [http-8080-Processor24] - Saving message key '.define.value
DEBUG [http-8080-Processor24] - Saving message key '.include.open
DEBUG [http-8080-Processor24] - Saving message key '.size.collection
ERROR [http-8080-Processor24] - Servlet.service() for servlet jsp threw
exceptio
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]