今天要用String.split一个字符串2006-05-24|xxxx|xxx, 很自然地就用split("|"), 结果出来的String[]是这样:
       String[0]=2
       String[1]=0
             .
             .
             .
怎么会这样?Google了一下,原来split的参数是regrex(正则表达式),一些特殊字符要用\来转义,上面的正确写法为:split("\\|")。
参看:
http://bbs.java.ccidnet.com/simple/index.php?t20665.html			
			
		 
	
	
		
						
			
		
				    想要在Myfaces项目中使用Sitemesh, 结果发现Jsf的标准UI没有问题,可使用了tomahawk的组件却显示不出来。是什么原因呢?   
    原来是因为tomahawk使用了Filter(ExtensionsFilter)来实现,Sitemesh也使用Filter来实现(太优美了),这就存在一个谁先谁后的问题了。解决方法:
首先,把sitemesh的filter map放到最后。然后把tomahawkr的ExtensionsFilter改为如下:
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    </filter-mapping>
		
		
				
						    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <url-pattern>*.faces</url-pattern>
    </filter-mapping>
注意:/faces/myFacesExtensionResource/*在上面,对应的也要修改myfaces的servlet-mapping,如下:
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
*.jsf这一项是要加的(我实际上只使用*.faces),不然过不去的。