⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testrequestutils.java

📁 ActionServlet源码 struts的一个步骤都有 知道本来有视频的太大了 就没有上传了
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        assertTrue("Different form beans get different instances 1",
            value != value1);

        value = dform.get("stringArray1");
        value1 = dform1.get("stringArray1");
        assertTrue("Different form beans get different instances 2",
            value != value1);

        dform1.set("stringProperty", "Different stringProperty value");
        value = dform.get("stringProperty");
        value1 = dform1.get("stringProperty");
        assertTrue("Different form beans get different instances 3",
            value != value1);
    }

    // ----------------------------------------------------------- forwardURL()
    // Default module (default forwardPattern)
    public void testForwardURL1() {
        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/myapp", "/action.do", null, null);

        ForwardConfig forward = null;
        String result = null;

        // redirect=false, module=null
        forward = moduleConfig.findForwardConfig("moduleForward");
        assertNotNull("moduleForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleForward computed", result);
        assertEquals("moduleForward value", "/module/forward", result);

        // redirect=true, module=null
        forward = moduleConfig.findForwardConfig("moduleRedirect");
        assertNotNull("moduleRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleRedirect computed", result);
        assertEquals("moduleRedirect value", "/module/redirect", result);

        // redirect=false, module=/context
        forward = moduleConfig.findForwardConfig("contextForward");
        assertNotNull("contextForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextForward computed", result);
        assertEquals("contextForward value", "/context/forward", result);

        // redirect=true, module=/context
        forward = moduleConfig.findForwardConfig("contextRedirect");
        assertNotNull("contextRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextRedirect computed", result);
        assertEquals("contextRedirct value", "/context/redirect", result);

        // noslash, module=null
        forward = moduleConfig.findForwardConfig("moduleNoslash");
        assertNotNull("moduleNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleNoslash computed", result);
        assertEquals("moduleNoslash value", "/module/noslash", result);

        // noslash, module=/
        forward = moduleConfig.findForwardConfig("contextNoslash");
        assertNotNull("contextNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextNoslash computed", result);
        assertEquals("contextNoslash value", "/context/noslash", result);
    }

    // Second module (default forwardPattern)
    public void testForwardURL2() {
        request.setAttribute(Globals.MODULE_KEY, moduleConfig2);
        request.setPathElements("/myapp", "/2/action.do", null, null);

        ForwardConfig forward = null;
        String result = null;

        // redirect=false, module=null
        forward = moduleConfig2.findForwardConfig("moduleForward");
        assertNotNull("moduleForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleForward computed", result);
        assertEquals("moduleForward value", "/2/module/forward", result);

        // redirect=true, module=null
        forward = moduleConfig2.findForwardConfig("moduleRedirect");
        assertNotNull("moduleRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleRedirect computed", result);
        assertEquals("moduleRedirect value", "/2/module/redirect", result);

        // redirect=false, module=/context
        forward = moduleConfig2.findForwardConfig("contextForward");
        assertNotNull("contextForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextForward computed", result);
        assertEquals("contextForward value", "/context/forward", result);

        // redirect=true, module=/context
        forward = moduleConfig2.findForwardConfig("contextRedirect");
        assertNotNull("contextRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextRedirect computed", result);
        assertEquals("contextRedirct value", "/context/redirect", result);

        // noslash, module=null
        forward = moduleConfig2.findForwardConfig("moduleNoslash");
        assertNotNull("moduleNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleNoslash computed", result);
        assertEquals("moduleNoslash value", "/2/module/noslash", result);

        // noslash, module=/
        forward = moduleConfig2.findForwardConfig("contextNoslash");
        assertNotNull("contextNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextNoslash computed", result);
        assertEquals("contextNoslash value", "/context/noslash", result);
    }

    // Third module (custom forwardPattern)
    public void testForwardURL3() {
        request.setAttribute(Globals.MODULE_KEY, moduleConfig3);
        request.setPathElements("/myapp", "/3/action.do", null, null);

        ForwardConfig forward = null;
        String result = null;

        // redirect=false, module=null
        forward = moduleConfig3.findForwardConfig("moduleForward");
        assertNotNull("moduleForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleForward computed", result);
        assertEquals("moduleForward value", "/forwarding/3/module/forward",
            result);

        // redirect=true, module=null
        forward = moduleConfig3.findForwardConfig("moduleRedirect");
        assertNotNull("moduleRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleRedirect computed", result);
        assertEquals("moduleRedirect value", "/forwarding/3/module/redirect",
            result);

        // redirect=false, module=/context
        forward = moduleConfig3.findForwardConfig("contextForward");
        assertNotNull("contextForward found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextForward computed", result);
        assertEquals("contextForward value", "/forwarding/context/forward",
            result);

        // redirect=true, module=/context
        forward = moduleConfig3.findForwardConfig("contextRedirect");
        assertNotNull("contextRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextRedirect computed", result);
        assertEquals("contextRedirct value", "/forwarding/context/redirect",
            result);

        // noslash, module=null
        forward = moduleConfig3.findForwardConfig("moduleNoslash");
        assertNotNull("moduleNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("moduleNoslash computed", result);
        assertEquals("moduleNoslash value", "/forwarding/3/module/noslash",
            result);

        // noslash, module=/
        forward = moduleConfig3.findForwardConfig("contextNoslash");
        assertNotNull("contextNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, null);
        assertNotNull("contextNoslash computed", result);
        assertEquals("contextNoslash value", "/forwarding/context/noslash",
            result);
    }

    // Cross module forwards
    public void testForwardURLa() {
        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/myapp", "/action.do", null, null);

        ForwardConfig forward = null;
        String result = null;

        // redirect=false, contextRelative=false, link to module 3
        forward = moduleConfig3.findForwardConfig("moduleForward");
        assertNotNull("moduleForward found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("moduleForward computed", result);
        assertEquals("moduleForward value", "/forwarding/3/module/forward",
            result);

        // redirect=true, contextRelative=false, link to module 3
        forward = moduleConfig3.findForwardConfig("moduleRedirect");
        assertNotNull("moduleRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("moduleRedirect computed", result);
        assertEquals("moduleRedirect value", "/forwarding/3/module/redirect",
            result);

        // redirect=false, module=/context
        forward = moduleConfig3.findForwardConfig("contextForward");
        assertNotNull("contextForward found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("contextForward computed", result);
        assertEquals("contextForward value", "/forwarding/context/forward",
            result);

        // redirect=true, module=/context
        forward = moduleConfig3.findForwardConfig("contextRedirect");
        assertNotNull("contextRedirect found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("contextRedirect computed", result);
        assertEquals("contextRedirct value", "/forwarding/context/redirect",
            result);

        // noslash, contextRelative=false, link to module 3
        forward = moduleConfig3.findForwardConfig("moduleNoslash");
        assertNotNull("moduleNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("moduleNoslash computed", result);
        assertEquals("moduleNoslash value", "/forwarding/3/module/noslash",
            result);

        // noslash, module=/
        forward = moduleConfig3.findForwardConfig("contextNoslash");
        assertNotNull("contextNoslash found", forward);
        result = RequestUtils.forwardURL(request, forward, moduleConfig3);
        assertNotNull("contextNoslash computed", result);
        assertEquals("contextNoslash value", "/forwarding/context/noslash",
            result);
    }

    // ----------------------------------------------------------- requestURL()
    public void testRequestURL() {
        request.setPathElements("/myapp", "/foo.do", null, null);

        String url = null;

        try {
            url = RequestUtils.requestURL(request).toString();
        } catch (MalformedURLException e) {
            fail("MalformedURLException: " + e);
        }

        assertNotNull("URL was returned", url);
        assertEquals("URL value", "http://localhost:8080/myapp/foo.do", url);
    }

    // ---------------------------------------------------- selectApplication()
    // Map to the default module -- direct
    public void testSelectApplication1a() {
        request.setPathElements("/myapp", "/noform.do", null, null);
        ModuleUtils.getInstance().selectModule(request, context);

        ModuleConfig moduleConfig =
            (ModuleConfig) request.getAttribute(Globals.MODULE_KEY);

        assertNotNull("Selected a module", moduleConfig);
        assertEquals("Selected correct module", "", moduleConfig.getPrefix());

        // FIXME - check module resources?
    }

    // Map to the second module -- direct
    public void testSelectApplication1b() {
        String[] prefixes = { "/1", "/2" };

        context.setAttribute(Globals.MODULE_PREFIXES_KEY, prefixes);
        request.setPathElements("/myapp", "/2/noform.do", null, null);

        ModuleUtils.getInstance().selectModule(request, context);

        ModuleConfig moduleConfig =
            (ModuleConfig) request.getAttribute(Globals.MODULE_KEY);

        assertNotNull("Selected a module", moduleConfig);
        assertEquals("Selected correct module", "/2", moduleConfig.getPrefix());

        // FIXME - check module resources?
    }

    // Map to the default module -- include
    public void testSelectApplication2a() {
        request.setPathElements("/myapp", "/2/noform.do", null, null);
        request.setAttribute(RequestProcessor.INCLUDE_SERVLET_PATH, "/noform.do");
        ModuleUtils.getInstance().selectModule(request, context);

        ModuleConfig moduleConfig =
            (ModuleConfig) request.getAttribute(Globals.MODULE_KEY);

        assertNotNull("Selected an application", moduleConfig);
        assertEquals("Selected correct application", "",
            moduleConfig.getPrefix());

        // FIXME - check application resources?
    }

    // Map to the second module -- include
    public void testSelectApplication2b() {
        String[] prefixes = { "/1", "/2" };

        context.setAttribute(Globals.MODULE_PREFIXES_KEY, prefixes);
        request.setPathElements("/myapp", "/noform.do", null, null);
        request.setAttribute(RequestProcessor.INCLUDE_SERVLET_PATH,
            "/2/noform.do");
        ModuleUtils.getInstance().selectModule(request, context);

        ModuleConfig moduleConfig =
            (ModuleConfig) request.getAttribute(Globals.MODULE_KEY);

        assertNotNull("Selected a module", moduleConfig);
        assertEquals("Selected correct module", "/2", moduleConfig.getPrefix());

        // FIXME - check application resources?
    }

    // ------------------------------------------------------------ serverURL()
    // Basic test on values in mock objects
    public void testServerURL() {
        String url = null;

        try {
            url = RequestUtils.serverURL(request).toString();
        } catch (MalformedURLException e) {
            fail("Threw MalformedURLException: " + e);
        }

        assertNotNull("serverURL is present", url);
        assertEquals("serverURL value", "http://localhost:8080", url);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -