You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Rashmi Kumari <Ra...@rmsi.com> on 2005/06/02 12:36:40 UTC

conditional display of checkboxes

Hi,

I have to include checkboxes on the jsp based on the value in a String
array .
I have included the relevant code of the jsp that does this. First 2
checkboxes are printed. Then the application throws error.
Please guide me where I am wrong.

<h:panelGrid columns="8" >
<%
     String[] rightsList = (String[])session.getAttribute("rightsList");
     if(rightsList != null)
     {
          for(int x=0; x<rightsList.length; x++)
          {
                 System.out.println("rights List in user.jsp= " +
rightsList[x]);
            if(rightsList[x].equalsIgnoreCase("acetate"))
            {

%>
           <h:selectBooleanCheckbox id="ac" title="
#{Message.rights_acetate}" value="#{User.rights.acetate}"
                                                        disabled="
#{AppMode.viewMode}"/>
                     <h:outputText value="#{Message.rights_acetate}" />
     <%
           }
           else if(rightsList[x].equalsIgnoreCase("save"))
           {

     %>
           <h:selectBooleanCheckbox id="sv" title="#{Message.rights_save}"
value="#{User.rights.save}" disabled="#{AppMode.viewMode}"/>
                     <h:outputText value="#{Message.rights_save}" />
          <%
            }
            else if(rightsList[x].equalsIgnoreCase("print"))
            {

     %>
               <h:selectBooleanCheckbox id="pr" title="
#{Message.rights_print}" value="#{User.rights.print}"
                                                             disabled="
#{AppMode.viewMode}"/>
                    <h:outputText value="#{Message.rights_print}" />
     <%
            }
           else if(rightsList[x].equalsIgnoreCase("export"))
           {

     %>
                    <h:selectBooleanCheckbox id="ex" title="
#{Message.rights_export}" value="#{User.rights.export}"
                                                        disabled="
#{AppMode.viewMode}"/>
                    <h:outputText value="#{Message.rights_export}" />
 <%
           }
        }
    }
%>
</h:panelGrid>



Error thrown::
15:25:22,162 ERROR StandardWrapper[/admin:jsp]:719 - Servlet.service() for
servlet jsp threw exception
javax.faces.FacesException: cannot add component with id 'ex' and path :
{Component-Path : [Class:
javax.faces.component.html.HtmlSelectBooleanCheckbox,Id: ex]} to its parent
component. This might be a problem due to duplicate ids.
     at
javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:438)
     at
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:256)
     at org.apache.jsp.user_jsp.
_jspx_meth_h_selectBooleanCheckbox_4(org.apache.jsp.user_jsp:1384)
     at org.apache.jsp.user_jsp._jspService(org.apache.jsp.user_jsp:380)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
     at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:673)
     at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
     at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
     at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
     at
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:602)
     at
org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
     at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
     at
org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
     at
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:881)
     at
org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
     at org.apache.jsp.template.template_jsp.
_jspx_meth_tiles_insert_2(org.apache.jsp.template.template_jsp:257)
     at org.apache.jsp.template.template_jsp.
_jspx_meth_f_subview_2(org.apache.jsp.template.template_jsp:235)
     at org.apache.jsp.template.template_jsp.
_jspx_meth_f_view_0(org.apache.jsp.template.template_jsp:120)
     at org.apache.jsp.template.template_jsp.
_jspService(org.apache.jsp.template.template_jsp:70)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
     at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:673)
     at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:464)
     at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
     at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
     at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405)
     at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTilesViewHandlerImpl.java:220)
     at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:206)
     at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
     at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
     at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
     at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
     at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
     at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
     at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
     at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
     at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
     at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
     at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
     at java.lang.Thread.run(Thread.java:595)

Regards

Rashmi