私のアプリケーションではSpring 3とTiles 2を使用しており、リダイレクトには少し問題があります。 好ましくは、Controller1メソッドからController2メソッドへの呼び出しやリダイレクトができるようにしたいと思いますが、これまでのところ失敗しています。あるコントローラメソッドから別のコントローラメソッドへのリダイレクト
私はpageviews.propertiesファイルに新しいエントリを作成しようとしました。そうすれば、私はController1からこの名前を返すことができ、xmlファイルから自分のタイルdef名を検索します。代わりにタイルのDEFSでルックアップを行うためにそれを使用する -
createRejectionEmail.(parent)=tilesView
createRejectionEmail.url=createRejectionEmail.page
redirectRejectionEmail.(class)=org.springframework.web.servlet.view.RedirectView
rediectRejectionEmail.contextRelative=true
redirectRejectionEmail.url=createRejectionEmail.page
しかし、私は私のURLの下に表示のように戻ってみてくださいURLの一部としてcreateRejectionEmailが含まれています。 mav.setViewName( "redirectRejectionEmail"); 返品mav;
<definition name="createRejectionEmail.page" extends="brandedLayout">
<put-attribute name="targetFunction" value="status" />
<put-attribute name="content" value="/WEB INF/jsp/pages/status/createRejectionEmail.jsp" />
</definition>
現在の設定は以下のとおりです。
<bean id="resourceViewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver"
p:order="0" p:basename="config.spring.viewresolution.pageviews"/>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/jsp/**/views.xml</value>
</list>
</property>
</bean>
ご協力いただければ幸いです。
ご回答いただきありがとうございます。私はこれを試して、私は 'SpringM MVC-for-OA'という名前のサーブレットで、 'redirect:/myapppath/status/displayEmailRejectionForm.html'という名前のビューを解決できませんでした。私は別のビューリゾルバを使用していますか?現在、我々はtiles2でResourceBundleViewResolverを使用しています – Carl
OK Whew!それは働いている!手伝ってくれてどうもありがとう。私はまた、アプリケーションコンテキストにUrlBasedViewResolverを追加する必要がありました。私は本当にあなたが応答する時間を割いていただきありがとうございます! – Carl
これは@RequestMappingアノテートされたメソッドのString戻り値の型でも正常に動作しているようです。 Carlの場合と同様に、キーはUrlBasedViewResolverクラスの設定を追加することです。 – Marin