2012-02-21 60 views
0

我对声明元素的排列感到困惑。如果我这样写:是否有任何区别:安排在XML中是必需的吗?

<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> 
+1

通常,XML标签(与属性不同)是有序的。模式可以要求特定的顺序,XML处理代码可以在确定含义时考虑顺序。但有些人选择不这样做,所以我不会发表这个答案。 – delnan 2012-02-21 09:25:19

回答

1

是的,没有:

  • - 一些元素像<filter-mapping/>顺序是相关的,因为它会改变被应用于实际的过滤器的顺序。此外,web.xml的架构定义了各种元素的顺序。

  • - 其他元素的顺序是不相关的,例如,您声明<servlet/>的顺序。同样在你的例子中,它没有任何区别。

+0

谢谢你的回复。 WOHA!它并不像我想的那么简单..你能解释一下关于web.xml的更多内容吗? – AbdulAziz 2012-02-21 09:35:11

+0

@AbdulAziz:当然,但请更具体。在一个过滤器的例子中:如果你有两个过滤器A和B映射到同一个URI,映射出现在'web.xml'中的顺序决定哪个过滤器先运行,哪个过后运行。但仅仅是''声明是无关紧要的。 – 2012-02-21 09:45:00

+0

pargm值应该是这样的/WEB-INF/web-application-context.xml或像这样\ WEB-INF \ web-application-context.xml – AbdulAziz 2012-02-21 11:05:30

1

不会有任何区别,你可以以任意顺序写,只要你经常打开和关闭与适当的标签。