2009-10-29 62 views
0

我還沒有遇到XML和JSF一起工作。我的意思是在XML中定義結構和字典並在JSF中表示。聽到你對這個想法的看法會很高興。作爲結構的XML +作爲表示的JSF:這是一個好主意嗎?

考慮創建一種project-info.xml。它可能包含這樣的內容:

<project-info> 
    <project-name>My project</project-name> 
    <menu-pages> 
     <menu-page name="home" view-id="/home.xhtml" title="Home" /> 
     <menu-page name="compose-letter" view-id="/compose-letter.xhtml" title="Composing a letter" /> 
     <menu-page name="company" view-id="/company.xhtml" title="Our Company"> 
      <menu-pages> 
       <menu-page name="colleagues" view-id="/colleagues.xhtml" title="Our Colleauges"> 
       <!-- etc. --> 
      </menu-pages> 
     </menu-page> 
     <!-- etc. --> 
    </menu-pages> 
</project-info> 

使用此文件可以很容易地分離網站的結構和它的jsf組件表示。

使用XML支持國際化也很容易。

你覺得這個概念在某種程度上不太舒服嗎?或者還有其他方法可以實現相同的分離結果嗎?

回答

1

只需使用Facelets

Facelets是JSF的一個庫,它引入了模板的概念。這正是你在這裏所做的。請注意,JSF 2.0本地包含此庫。關於國際化,Java和JSF已經提供了一些功能(我正在考慮messageBundles <f:loadBundle/>)。

+0

是的,我在做某種方式的模板。但是與JSF相比,XML提供了更高的抽象級別。在我看來,在XML中定義* structure *非常方便。不過,我想,我的思維方式來自我的XML-XSL背景。我最好適應JSF而不是JSF)。感謝您關於的提示。 – emanemos 2009-10-30 09:16:26

+0

您是否可以更精確地談論您正在談論的這種更高層次的抽象? Facelets使用XHTML,這是XML(好吧,所使用的XML與JSF相關;))。 – romaintaz 2009-10-30 10:18:47

相關問題