今天要用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),不然過不去的。
???