« Return to Thread: MyFaces 1.1.4 with Struts-Faces 1.3.5

MyFaces 1.1.4 with Struts-Faces 1.3.5

by Colin Doyle-2 :: Rate this Message:

| View in Thread

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hello,

 

I had a struts-faces form working with MyFaces 1.1.3.

The form is very simple, based on the logon.jsp that comes with the struts-faces-example2-1.3.5.

The form definitely works with MyFaces 1.1.3, and the corresponding execute method of the Struts Action is successfully invoked.

 

The main components of the form are basically:

 

**************************************************************************************************************

<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>

<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<%@ taglib prefix="s" uri="http://struts.apache.org/tags-faces"%>

<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>

 

<f:view>

 

            <f:loadBundle basename="applResources"

                        var="appl_messages" />

 

            <t:saveState value="#{calendarBean}" />

 

            <s:form action="/logsAction" styleClass="form" id="logsForm">

 

                        <t:inputDate type="both" ampm="false" popupCalendar="true"

                                    value="#{calendarBean.firstDate}"

                                    title="#{appl_messages['logs.startDate']}">

                        </t:inputDate>

 

 

                        <h:panelGrid columns="1" styleClass="form-background"

                                    headerClass="form-header" columnClasses="form-prompt,form-field"

                                    footerClass="form-footer">

 

 

                                    <h:outputLabel for="logname" styleClass="label">

                                                <h:outputText value="#{appl_messages['logs.enterLog']}" />

                                    </h:outputLabel>

 

                                    <h:inputText id="logname" size="16" styleClass="field"

                                                value="#{logsFormBean.logname}" />

 

                                    <h:commandButton id="submit" type="SUBMIT"

                                                styleClass="command-single"

                                                value="#{appl_messages['logs.submit']}" size="10" immediate="false" />

 

 

                        </h:panelGrid>

                       

            </s:form>

 

 

</f:view>

 

**************************************************************************************************************

 

However, when I moved to MyFaces 1.1.4, I got the following error:

 

SEVERE: Servlet.service() for servlet jsp threw exception

java.lang.IllegalArgumentException: Component logsForm:submit must be embedded in an form

            at org.apache.myfaces.shared_impl.renderkit.html.HtmlButtonRendererBase.buildOnClick(HtmlButtonRendererBase.java:172)

            at org.apache.myfaces.shared_impl.renderkit.html.HtmlButtonRendererBase.encodeEnd(HtmlButtonRendererBase.java:119)

            at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)

            at org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:442)

            at org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:216)

            at org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:98)

            at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)

            at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:495)

            at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:363)

            at org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:54)

            at org.apache.jsp.WEB_002dINF.tiles.logs_jsp._jspx_meth_h_panelGrid_0(org.apache.jsp.WEB_002dINF.tiles.logs_jsp:294)

            at org.apache.jsp.WEB_002dINF.tiles.logs_jsp._jspx_meth_s_form_0(org.apache.jsp.WEB_002dINF.tiles.logs_jsp:206)

            at org.apache.jsp.WEB_002dINF.tiles.logs_jsp._jspx_meth_f_view_0(org.apache.jsp.WEB_002dINF.tiles.logs_jsp:127)

            at org.apache.jsp.WEB_002dINF.tiles.logs_jsp._jspService(org.apache.jsp.WEB_002dINF.tiles.logs_jsp:84)

            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

            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:672)

            at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)

            at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)

            at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)

            at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:643)

            at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:637)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:585)

            at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:126)

            at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:149)

            at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:761)

            at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:893)

            at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:462)

            at org.apache.jsp.WEB_002dINF.tiles.main_002dlayout_jsp._jspx_meth_tiles_insert_1(org.apache.jsp.WEB_002dINF.tiles.main_002dlayout_jsp:153)

            at org.apache.jsp.WEB_002dINF.tiles.main_002dlayout_jsp._jspService(org.apache.jsp.WEB_002dINF.tiles.main_002dlayout_jsp:84)

            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

            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:672)

            at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)

            at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)

            at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)

            at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:643)

            at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:637)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:585)

            at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:126)

            at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:149)

            at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:761)

            at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:893)

            at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:462)

            at org.apache.jsp.pages.logs_jsp._jspx_meth_tiles_insert_0(org.apache.jsp.pages.logs_jsp:88)

            at org.apache.jsp.pages.logs_jsp._jspService(org.apache.jsp.pages.logs_jsp:64)

            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

            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)

           

 « Return to Thread: MyFaces 1.1.4 with Struts-Faces 1.3.5