我對JSF有一些經驗,但我現在想學習一些Spring MVC。我希望向用戶顯示選項,以更改我的網站顯示的語言。爲了實現這一點,我想用XML定義語言並將它們設置爲一個bean,然後在JSP中遍歷該列表以顯示語言選項給用戶。從XML中讀取值並在JSP中顯示它們
這是我的XML是什麼樣子:
<bean id="languagesSupportedBean" class="be.maxcorp.Util.LanguageBean">
<property name="languagesSupported">
<array>
<value>en</value>
<value>nl</value>
</array>
</property>
</bean>
這是我LanguagesSupportedBean
類:
@Component
public class LanguageBean {
public String[] languagesSupported;
public String[] getLanguagesSupported() {
return languagesSupported;
}
public void setLanguagesSupported(String[] languagesSupported) {
this.languagesSupported = languagesSupported;
}
}
在我的JSP我想要做這樣的事情:
<c:forEach items="${languageBean.LanguagesSupported}" var="language">
${language}
</c:forEach>
因爲Spring MVC是基於請求的,而不是基於組件的,我想這種方法是行不通的,除非我添加在每個控制器方法中,每個Model
參數都有LanguageBean
作爲屬性?
我非常感謝您完成此任務的任何提示。
我使用'TilesViewResolver',所以我不認爲我可以設置該屬性。 – Mekswoll
我打算接受這個答案,因爲我沒有在問題中指明我正在使用Tiles3,如果我使用了'InternalViewResolver',這個答案就可以工作。 Tiles3的答案可以在這裏找到http://stackoverflow.com/questions/2848415/accessing-spring-beans-from-a-tiles-view-jsp – Mekswoll
@Mekswoll - 很高興你找到答案。我用另一個可能的選擇更新了這個問題。 –