0

私はSpring3とTiles3を使用しています。以下は私が作成した単純化された例です。すべてのSimpleEntityオブジェクトを一覧表示するテストコントローラーがあります。また、JSPには、POSTを介して新しいエンティティを追加するための入力フィールドがあります。これがコントローラーです。

@Controller
@RequestMapping(value="/admin/test")
public class TestAdminController {

    private String TEST_PAGE = "admin/test";

    @Autowired
    private SimpleEntityRepository simpleEntityRepository;

    @ModelAttribute("pageName")
    public String pageName() {
        return "Test Administration Page";
    }

    @ModelAttribute("simpleEntities")
    public List<SimpleEntity> simpleEntities() {
        return simpleEntityRepository.getAll();
    }

    @RequestMapping(method=RequestMethod.GET)
    public String loadPage() {
        return TEST_PAGE;
    }

    @RequestMapping(method=RequestMethod.POST)
    public String addEntity(@RequestParam String name) {
        SimpleEntity simpleEntity = new SimpleEntity();
        simpleEntity.setName(name);
        simpleEntityRepository.save(simpleEntity);
        return "redirect:/" + TEST_PAGE;
    }

} 

すべてが正常に動作します。ただし、フォームを送信すると、URLにpageNameパラメーターが追加されるため、から/admin/testになり/admin/test?pageName=Test+Administration+Pageます。ページがリロードされたときにこれが発生しないようにする方法はありますか?

アップデート

これがJSPフォームです。

<form:form action="/admin/test" method="POST">
    <input type="text" name="name" />
    <input type="submit" name="Save" />
</form:form>
4

0 に答える 0