Struts2 学习笔记02 Namespace

   今天学习Struts2中的Namespcae部分。

  其实这部分比较简单,建立一个web sever 项目,把笔记0100中的struts.xml拷贝进来。如下是完成时的struts.xml,接下来进行讲解。

struts.xml

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

<struts>

 <!--     <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />

        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>

    <include file="example.xml"/> -->

    <!-- Add packages here -->
    <constant name="struts.devMode" value="true" />
    <package name="front" namespace="/front" extends="struts-default">
    
		<action name="hell">
			<result>
				/Hello.jsp
			</result>
		</action>
       
    </package>
    <package name="back" namespace="" extends="struts-default">
    
		<action name="hell">
			<result>
				/Hello.jsp
			</result>
		</action>
       
    </package>

</struts>
这其中有两个package 分别命名为 front和back 解决了相同名称的action问题。关于namespace,在第一个package里的namespace为"/front" 在浏览器访问Hello.jsp要输入localhost:8080//Struts2_0200_Namespace/front/hell 要加上namespace的内容。

若namespace为空则没有找到的包均访问这个,即localhost:8080//Struts2_0200_Namespace/hell 或localhost:8080//Struts2_0200_Namespace/XXXXX/hell 均能成功访问。

注意以下两张图的地址。

Struts2 学习笔记02 Namespace_第1张图片Struts2 学习笔记02 Namespace_第2张图片

Tips:如果拷贝别人的项目,有时候更改了项目名称,出现不能访问的情况,但是原来的路径仍然可以访问,原因是没有更改web context-root 在项目的首选项里的myeclipse 的web项目更改。如图。

Struts2 学习笔记02 Namespace_第3张图片


你可能感兴趣的:(java,eclipse,struts,命名空间,学习)