File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Struts and the fly likes Struts error Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Struts error " Watch "Struts error " New topic
Author

Struts error

Suneesh Raman
Ranch Hand

Joined: Jun 13, 2002
Posts: 42
Hi

I am new to tiles frame work

1. I have made the following entry in web.xml


<taglib>
<taglib-uri>/tags/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>

2. I have made a layout jsp

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>

/tags/struts-tiles
<html>
<head>
<title>
<tiles:getAsString name="title" ignore="true"/>
</title>
</head>

<body marginheight=0 marginwidth=0 leftmargin=0 topmargin=0 rightmargin=0>

<table cellpadding=0 cellspacing=0 height=100% width=100% border=1>

<tr>
<td height=90 colspan=2>
<tiles:insert attribute="header" ignore="true">
<tiles ut name="title" beanName="title" beanScope="title"/>
</tiles:insert>
</td>
</tr>

<tr>
<td width=150><tiles:insert attribute="left"/></td>
<td><tiles:insert attribute="content"/></td>
</tr>

<tr>
<td height=5 colspan=2><tiles:insert attribute="bottom"/></td>
</tr>

</table>

</body>
3. I have created the nessary files like footer,bottom etc.

4. My content.jsp is as below

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>

<html>
<head></head>
<body>
asdasd
<tiles:insert page="/msgtilelayout.jsp" flush="true">
<tiles ut name="title" type="string" value="QEqeqeqwe"/>
<tiles ut name="header" value="/header.jsp"/>
<tiles ut name="left" value="/left.jsp"/>
<tiles ut name="bottom" value="/bottom.jsp"/>
<tiles ut name="bottom" type="string">
Siome text goes here
</tiles ut>
</tiles:insert>
</body>
</head>

5. This is my entry in struts.config file
<plug-in className="org.apache.struts.tiles.TilesPlugin" >

<!-- Path to XML definition file -->
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
<!-- Set Module-awareness to true -->
<set-property property="moduleAware" value="true" />
<set-property property="definitions-parser-validate" value="true"/>
</plug-in>



But I am getting the following error

-------------------------------------

[#|2005-03-02T14:32:51.382+0530|SEVERE|sun-appserver-pe8.0.0_01|org.apache.stru ts.taglib.tiles.InsertTag|_ThreadID=11;|ServletException in '/msgtilelayout.jsp': Invalid bean scope null
javax.servlet.ServletException: Invalid bean scope null
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl .java:827)
at org.apache.jasper.runtime.PageContextImpl.access$1100(PageContextImpl.java:69)
at org.apache.jasper.runtime.PageContextImpl$12.run(PageContextImpl.java:747)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.j ava:745)
at org.apache.jsp.msgtilelayout_jsp._jspService(msgtilelayout_jsp.java:123)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
--------------------------------------------------------

[#|2005-03-02T14:32:51.382+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterpris e.system.container.web|_ThreadID=11;|StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: ServletException in '/msgtilelayout.jsp': Invalid bean scope null
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java: 921)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
at org.apache.jsp.content_jsp._jspx_meth_tiles_insert_0(content_jsp.java:141)
at org.apache.jsp.content_jsp._jspService(content_jsp.java:80)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)

Thanks
Suneesh
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
"Suneesh VR",

Welcome to JavaRanch. We don't have many rules here, but we do have a naming policy which we try to strictly enforce. Please re-read this document and edit your display name in order to comply. Thanks in advance, and we look forward to seeing you around the Ranch.
Karthik Krishnamurthy
Greenhorn

Joined: Nov 21, 2003
Posts: 10
Hi,
I think in your <tiles ut name =...>, you need to specify an actual beanScope as request, page,etc. Try it and see if that works.
Suneesh Raman
Ranch Hand

Joined: Jun 13, 2002
Posts: 42
I have tried with bean scope also but still it is not working
When I am accessing the layout jsp I am getting the following error
will it be the problem ?


javax.servlet.ServletException: Error - tag.getAsString : component context is not defined. Check tag syntax
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:827)
org.apache.jasper.runtime.PageContextImpl.access$1100(PageContextImpl.java:69)
org.apache.jasper.runtime.PageContextImpl$12.run(PageContextImpl.java:747)
java.security.AccessController.doPrivileged(Native Method)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:745)
org.apache.jsp.msgtilelayout_jsp._jspService(msgtilelayout_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:499)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)


root cause

javax.servlet.jsp.JspException: Error - tag.getAsString : component context is not defined. Check tag syntax
org.apache.struts.taglib.tiles.GetAttributeTag.doEndTag(GetAttributeTag.java:157)
org.apache.jsp.msgtilelayout_jsp._jspx_meth_tiles_getAsString_0(msgtilelayout_jsp.java:140)
org.apache.jsp.msgtilelayout_jsp._jspService(msgtilelayout_jsp.java:79)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:499)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
Ken Loh
Ranch Hand

Joined: Feb 16, 2005
Posts: 190
Do you really need to do this ? For my case, I've always been using:



Originally posted by Suneesh VR:

<tiles:insert attribute="header" ignore="true">
<tiles ut name="title" beanName="title" beanScope="title"/>
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Struts error