Spring MVC をサポートする OpenMRS という名前のオープン ソースに取り組んでいます。後で更新目的でコア ソースを変更することはできません。そのため、システムに機能を追加するためのプラグインのようなモジュールを作成する必要があります。問題は、ポートレットを使用して jsp にリダイレクトすることにより、元の画面を自分のものに変更したいことです。コア コードのコントローラーは次のようなものです。
@RequestMapping("/patientDashboard.form")
protected String renderDashboard(@RequestParam(required = true, value = "patientId") Integer patientId, ModelMap map){
....
return "patientDashboardForm";
}
私は Spring に詳しくありませんが、URL が /patientDashboard.form?patientId=xxx で終わると、関数はpatientDashboardForm.jsp を呼び出すことを知っています。今、私は自分のjspに戻りたいので、同じコードで新しいクラスを定義する必要がありますが、自分のjspに戻ります(コアコードを変更できないため、これを行うには)。しかし、同じマッピング /patientDashboard.form を定義すると、「ハンドラー XXX を URL パス /patientDashboard.form にマップできません: ハンドラー YYY が既にマップされています」というエラーが発生します。とにかく、この状況を克服する方法はありますか?