Weiterleitung mit mapping.findForward in Struts 1.2

public class MyAction extends Action
{   
    public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {

        String status="success";
        HttpSession session = request.getSession(true);
        System.out.println("My Action---setting key value");
        request.getSession().setAttribute("key1","check");

        //response.sendRedirect("http://localhost:9080/FamiliarPortal/jsp/inicio.jsp");
        return mapping.findForward(status); 

    }
}

In Struts-config.xml, wird wie folgt ergänzt:

<action path="/myAction" type="iusa.ubicacel.actions.MyAction" validate="false" >
         <forward name="success" path="/jsp/inicio.jsp"/>       
</action>

In web.xml, wird wie folgt ergänzt:

<servlet>
        <servlet-name>GetFAP</servlet-name>
        <servlet-class>iusa.ubicacel.actions.map.GetFAP</servlet-class>
    </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
<servlet-mapping>
        <servlet-name>GetFAP</servlet-name>
        <url-pattern>/GetFAP</url-pattern>
</servlet-mapping>

In inicio.jsp, wird wie folgt ergänzt:

<BODY onload="requestXML('<%=reqURL %>');">

<table border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
        <td align="center" valign="middle">
            <div id="mapdiv" style="width: 1000px; height:700px"></div> 
        </td>
    </tr>
</table>
</BODY>

Die Funktion requestXML ist wie folgt:

function requestXML(reqURL) 
{   
    alert("calling requestXML"+reqURL);
    var url = "../GetFAP?requestURL=" + reqURL;
    alert("calling requestXML"+url);
    xmlhttpUbi = FAPXMLHttpRequest();
    xmlhttpUbi.open("POST", url, true); //async
    alert("after calling");
    xmlhttpUbi.onreadystatechange = obtainFAPLocation;
    xmlhttpUbi.send(null);
}

Der obige code ruft nicht die GetFAP servlet bei der Verwendung mapping.findForward. Aber wenn ich response.sendRedirect("entire jsp path") es ruft das servlet auf.

Kann mir jemand sagen was mache ich hier falsch?

Die vorwärts-man-show hat nichts zu tun mit "GetFAP", ich weiß nicht, warum Sie denken, es würde.
der forward zugeordnet ist, inicio.jsp in der struts-config.xml.Onload von incio.jsp-Aufrufe requestXML () - Funktion, die Anrufe GetFAP
Dann ist das problem wahrscheinlich Ihre relative URL, aber es ist schwer zu sagen. Sie können "debug", wissen Sie, mithilfe der browser-debugging-tools.
Ja.Als ich geändert es zu " var url = "GetFAP?requestURL=" + reqURL;" es hat funktioniert.Aber ich verstehe wirklich nicht, warum.Das gleiche funktioniert, wenn ich nicht verwenden Streben.Was könnte der Grund sein?Auch, was wäre der Unterschied zwischen "./GetFap" und "../GetFap" ?

InformationsquelleAutor user2473430 | 2013-07-16

Schreibe einen Kommentar