Integration struts-faces
------------------------
Key: STR-2885
URL: http://issues.apache.org/struts/browse/STR-2885
Project: Struts Action 1
Type: Bug
Components: Faces
Versions: Nightly Build
Environment: winxp sp2,
j2sdk1.4.7_02,struts1.2.9,jsf1.1_01,struts-faces(20060530)
Reporter: Carlos Rojas
Hi, sorry, i don't speak english... i'm peruvian...
Actualmente tengo una aplicación web basada en struts, la cual trabaja bien.
Ahora, quiero integrarla con jsf en una nueva funcionalidad a agregar... He
seguido las pasos recomendados en:
http://www.oracle.com/technology/pub/articles/masterj2ee/j2ee_wk8.html...
En el archivo web.xml:
...
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
...
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<description>Servlet de Inicio</description>
<display-name>Servlet InitServlet</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.app.utils.InitServlet</servlet-class>
<init-param>
<param-name>jdbcURL</param-name>
<param-value>jdbc:mysql://localhost:3306/test</param-value>
</init-param>
<init-param>
<param-name>username</param-name>
<param-value>user</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>pass</param-value>
</init-param>
<init-param>
<param-name>autoCommit</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>Recursos</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
...
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
...
En el struts-config.xml:
<struts-config>
<form-beans>
...
<form-bean name="OrdersPositionsListForm"
type="com.app.invoicing.entity.OrdersPositionsListToInvoiceWrapper"/>
</form-beans>
<action-mappings>
...
<action path="/consultOrdersPositionsToInvoiceWithoutSpot"
type="com.app.invoicing.actions.ListOrdersToInvoiceAction"
parameter="WithoutSpot"
input="/custom.do">
<forward name="success"
path="/faces/jsp/invoicing/listOrdersPositionsToInvoice.jsp"/>
</action>
<action path="/editInvoiceWithoutSpot"
type="com.app.invoicing.actions.EditInvoiceAction"
parameter="WithoutSpot"
name="OrdersPositionsListForm"
scope="request"
input="/consultOrdersPositionsToInvoiceWithoutSpot.do">
<forward name="success" path="/jsp/invoicing/editInvoice.jsp"/>
</action>
</action-mappings>
<controller>
<set-property property="processorClass"
value="org.apache.struts.faces.application.FacesRequestProcessor"/>
</controller>
<message-resources parameter="Recursos"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
</struts-config>
El archivo jsp/invoicing/listOrdersPositionsToInvoice.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://struts.apache.org/tags-faces" prefix="s" %>
<f:view>
<html>
<head>
<title>Seleccionar Items de Orden de Compra a Facturar</title>
<s:stylesheet path="/default.css"/>
</head>
<body>
<s:errors/>
<h:panelGrid columns='2'>
<h:outputLabel value='Proveedor:' style='font-weight: bold'/>
<h:outputText value='#{OrdersPositionsListForm.supplier.razon}'/>
<h:outputLabel value='Nro. Orders:' style='font-weight: bold'/>
<h:outputText value='#{OrdersPositionsListForm.size}'/>
</h:panelGrid>
<s:form action='/editInvoiceWithoutSpot' id='ordersPositionsList'>
<h:dataTable value='#{OrdersPositionsListForm.ordersPositionsList}'
var='orderPosition' styleClass='borde'>
<h:column>
<f:facet name='header'><h:outputText value='Select'/></f:facet>
<h:selectBooleanCheckbox value='#{orderPosition.selected}'/>
</h:column>
<h:column>
<f:facet name='header'><h:outputText value='Nro. Orden'/></f:facet>
<h:outputText value='#{orderPosition.numoc}'/>
</h:column>
<h:column>
<f:facet name='header'><h:outputText value='Fecha Envío'/></f:facet>
<h:outputText value='#{orderPosition.fenvio}'>
<f:convertDateTime pattern='yyyy-MM-dd hh:mm:ss'/>
</h:outputText>
</h:column>
</h:dataTable>
<h:panelGroup>
<h:commandButton id='submit' type='SUBMIT' value='Seleccionar'/>
<h:commandButton id='reset' type='RESET' value='Resetear'/>
</h:panelGroup>
</s:form>
</body>
</html>
</f:view>
El escenario es como sigue, deseo iniciar el proceso de creacion de una
factura, para ello, lo primero que tengo que hacer es seleccionar los items a
facturar... entonces selecciono de un menu la opcion Ingresar factura, que
tiene un link a: consultOrdersPositionsToInvoiceWithoutSpot.do, la cual se abre
en una nueva ventana, la aplicación se ejecuta bien, pero cuando veo el
fragmento del codigo fuente desde la pagina generada...:
...
<form id="ordersPositionsList" name="OrdersPositionsListForm"
action="/app/jsp/invoicing/listOrdersPositionsToInvoice.do" method="post">
<input type="hidden" name="ordersPositionsList" value="ordersPositionsList" />
<input type="hidden" name="org.apache.struts.taglib.html.TOKEN"
value="785b8dbfa2d49ce82b8730b5b1352d22" />
....
me queda esta interrogante... ¿porque
action="/app/jsp/invoicing/listOrdersPositionsToInvoice.do", no debería ser
action="/editInvoiceWithoutSpot.do"?, ya que, como es lógico, cuando envío
(submit) el form, tomcat no encontrará el recurso solicitado y me enviará al
custom.do....
¿qué debo hacer?... please... help me...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira