【问题标题】:Arrangement is required in XML?XML中需要排列吗?
【发布时间】:2012-03-11 14:33:08
【问题描述】:

我对声明元素中的排列感到困惑。如果我这样写有什么区别:

<listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
</listener>

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/web-application-context.xml
        </param-value>
</context-param>

还是这样?

    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/web-application-context.xml
            </param-value>
    </context-param>

  <listener>
            <listener-class>
                org.springframework.web.context.ContextLoaderListener
            </listener-class>
    </listener>

【问题讨论】:

  • 一般来说,XML 标签(与属性不同)是有序的。模式可能需要特定的顺序,而 XML 处理代码可以在确定含义时考虑该顺序。但是有些人选择不这样做,所以我不会将其发布为答案。

标签: xml servlets web.xml


【解决方案1】:

不会有任何区别,您可以按任何顺序书写,只要您始终使用正确的标签打开和关闭。

【讨论】:

    【解决方案2】:

    是与否:

    • - 某些元素(如&lt;filter-mapping/&gt;)的顺序是相关的,因为它会改变实际应用过滤器的顺序。 web.xml 的架构还定义了各种元素的顺序。

    • no - 其他元素的顺序无关紧要,例如您声明&lt;servlet/&gt;s 的顺序。同样在您的示例中,它没有任何区别。

    【讨论】:

    • 感谢您非常友好的回复。哇!它不像我想的那么简单..你能解释一下web.xml吗?
    • @AbdulAziz:当然,但请更具体一些。在过滤器示例中:如果您有两个过滤器 A 和 B 映射到同一个 URI,则映射出现在 web.xml 中的顺序决定了哪个过滤器先运行,然后再运行。但是单独的 &lt;filter/&gt; 声明是无关紧要的。
    • pargm 值应该是这样的 /WEB-INF/web-application-context.xml 还是这样的 \WEB-INF\web-application-context.xml
    • @AbdulAziz 肯定是斜线 (/)
    • @AbdulAziz:没问题,这就是这个网站的用途:-)。
    猜你喜欢
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 2012-11-14
    • 2021-03-21
    相关资源
    最近更新 更多