Search code examples
struts-1

Error - Tag Insert : no value defined for bean


i'm new to struts. i will use struts tile in my Java EE project. i read following page that illustrate how to use tile.
struts tiles examples

i read the page and try do all thing that mentained in the page. in the below you can my files detail.

struts-config.xml:

<plug-in className="org.apache.struts.tiles.TilesPlugin">
    <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
    <set-property property="moduleAware" value="true" />
</plug-in>  

tiles-defs.xml:

<tiles-definitions>
<definition name="role.list" path="/WEB-INF/content/layout.jsp">
    <put name="body" value="/WEB-INF/content/admin/restricted/role_list_body.jsp"
        type="page" />
</definition>

role_list_body.jsp:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
      <title>Insert title here</title>
   </head>
   <body>
      List of Roles
   </body>
</html>

and role_list.jsp is:

<body>
   <sTile:insert beanName="role.list"/>
</body>

i think all of things is correct. but when i call role_list.jsp i get following error:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException:  javax.servlet.jsp.JspException: Error - Tag Insert : No value defined for bean 'role.list' with property 'null' in scope 'null'.
          org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:534)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:442)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Error - Tag Insert : No value defined for bean 'role.list' with property 'null' in scope 'null'.
     org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
    org.apache.jsp.WEB_002dINF.content.admin.restericted.role.role_005flist_jsp._jspService(role_005flist_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

javax.servlet.jsp.JspException: Error - Tag Insert : No value defined for bean 'role.list' with property 'null' in scope 'null'.
org.apache.struts.tiles.taglib.InsertTag.processBean(InsertTag.java:667)
org.apache.struts.tiles.taglib.InsertTag.createTagHandler(InsertTag.java:483)
org.apache.struts.tiles.taglib.InsertTag.doStartTag(InsertTag.java:441)
    org.apache.jsp.WEB_002dINF.content.admin.restericted.role.role_005flist_jsp._jspx_meth_sTile_005finsert_005f0(role_005flist_jsp.java:97)
    org.apache.jsp.WEB_002dINF.content.admin.restericted.role.role_005flist_jsp._jspService(role_005flist_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.

do you know what this problem occourred.
thanks.


Solution

  • i find problem.
    in the role_list.jsp i replace
    <sTile:insert beanName="role.list" /> with <sTile:insert definition="role.list" />

    now it works true.