我讓這種方式比它需要更混亂。這是簡化的版本。彈簧mvc表單發佈到不同的控制器,或過度這個
1 - 我在右上角的每個頁面上都有一個下拉菜單和一個提交按鈕。下拉列表是語言列表。用戶可以更改語言並按提交按鈕轉到語言控制器並更新當前語言。
public class LanguageController {
@ModelAttribute("languageList")
public LanguageList populateLanguageList() {
return LanguageDAO.all();
}
@RequestMapping("/setLanguage.mvc")
public ModelAndView setLanguage(
@ModelAttribute("languageForm") LanguageForm languageForm,
HttpServletRequest request,
HttpServletResponse response
){
//do stuff
}
}
<form:form modelAttribute="languageForm">
<form:select path="acctGrpId" >
<form:options items="${languageList}"/>
</form:select>
<input type="submit"/>
</form:form>
我該如何在每個頁面上提供該功能?鑑於該頁面可能是您正在編輯/創建用戶的頁面,因此該頁面的「控制器」實際上是UserController,RoleController或DepartmentController,而不是LanguageController。無論頁面在做什麼,我都需要這個特定的jsp來訪問特定的控制器。
我剛剛更新了我的帖子,希望它現在更有意義,我真正的問題是在同一個jsp上有多個控制器。無論頁面控制器設置爲什麼,我如何告訴jsp頁面「使用此控制器」。 – samwise
也許我還是不明白,或者我寫的東西依然存在。只需在表單標籤中指定不同的操作屬性。那種必須由LanguageController服務的表單將在那裏提供,而實際頁面上的表單將由頁面控制器提供。 – soulcheck