2

我真的在用 Struts2 绞尽脑汁——我可以通过省略部分路径来访问 JSP 页面。注意路径假设包括pages/welcome_user.jsp. 关键是看pages路径中的单词。

这是struts.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="default" namespace="/User" extends="struts-default">
        <action name="Login">
            <result>pages/login.jsp</result>
        </action>
        <action name="Welcome" class="com.mkyong.user.action.WelcomeUserAction">
            <result name="SUCCESS">pages/welcome_user.jsp</result>
        </action>
    </package>
</struts>

我可以访问login.jspvia:http://localhost/Struts2Example/User/Login
welcome_user.jspvia:http://localhost/Struts2Example/User/Welcome
请注意,在这两个 URL 中,我都可以 drop pages,为什么?

来源: http ://www.mkyong.com/misc/how-to-use-mkyong-tutorial/

有人可以通过上面的教程告诉我有什么问题吗?

4

1 回答 1

1

首先,您使用了映射到struts.xml.

action 方法被执行并返回一个结果代码SUCCESS。您可以在操作配置中找到此结果。然后执行 result ,如果未设置 result 类型默认为dispatcher,并将请求转发到 result config 中指定的位置。

如果位置是相对的,则最终的绝对位置将由用于此操作的包的名称空间确定。

您可以在示例Struts 2 命名空间配置示例和解释中找到更详细的使用命名空间示例和解释

如果您使用dispatcher转发到 JSP 的结果,则不能删除页面。在这种情况下,URL 已被重写,您无法看到最终 URL。

于 2014-08-19T09:20:07.300 回答