私はこの方法を必要以上に混乱させました。ここに簡略版があります。スプリングMCFフォームが別のコントローラに投稿されている、またはこれを超えている
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