2017-03-29 7 views
0

春の起動アプリケーションでリダイレクト機能を使用する際に問題があります。下の私のコードで示されているように、 "redirect:/ aucConfirm /"を返すが、私はこれを開始すると "このアプリケーションには明示的なマッピングがない"というエラーが出る。春の起動時にリダイレクトを使用する

@Controller 
@RequestMapping("/") 
public class WelcomeController { 

    @Autowired 
    AuctionItemRepository aucRepository; 

// inject via application.properties 
@Value("${welcome.message:test}") 
private String message = "Hello World"; 

@RequestMapping(value = "/") 
public String welcome(Map<String, Object> model) { 
    model.put("message", this.message); 
    return "welcome"; 
} 


    @RequestMapping(value = "/sell", method = RequestMethod.GET) 
    public String addAuction(Model model, HttpServletRequest request) { 


     model.addAttribute("newAuction", new AuctionItem()); 

     return "NewAuction"; 
    } 

    @RequestMapping(value = "/sell", method = RequestMethod.POST) 
    public String saveAuction(@ModelAttribute AuctionItem newAuction, RedirectAttributes attributes){ 


     return "redirect:/aucConfirm"; 
    } 

    @RequestMapping(value = "/aucConfirm", method = RequestMethod.GET) 
    public String confirmNewAuction(Model model, HttpServletRequest request) { 


     return "aucConfirm"; 
    } 
} 

これが私の現在のコンフィギュレーションクラスです -

@SpringBootApplication 
@ComponentScan 
@EnableJpaRepositories("All") 
@EntityScan("All") 
public class AuctionWebApplication extends SpringBootServletInitializer { 

@Override 
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
    return application.sources(AuctionWebApplication.class); 
} 

public static void main(String[] args) throws Exception { 
    SpringApplication.run(AuctionWebApplication.class, args); 
} 

    @Bean 
    DataSource dataSource() { 
     DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
     dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 
     dataSource.setUrl("jdbc:mysql://localhost:3306/auctiondb?zeroDateTimeBehavior=convertToNull"); 
     dataSource.setUsername("root"); 
     dataSource.setPassword("toor"); 

     return dataSource; 
    } 

    @Bean 
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) { 
     LocalContainerEntityManagerFactoryBean entityManager = new LocalContainerEntityManagerFactoryBean(); 
     entityManager.setDataSource(dataSource); 
     entityManager.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); 
     entityManager.setPackagesToScan("All"); 

     Properties jpaProperties = new Properties(); 
     jpaProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); 
     jpaProperties.setProperty("hibernate.hbm2ddl.auto", "update"); 
     jpaProperties.setProperty("hibernate.id.new_generator_mappings", "false"); 
     entityManager.setJpaProperties(jpaProperties); 

     return entityManager; 
    } 

}それはおそらく確立しようとイム私のJSPページとは何かを持ってもらえ

更新やり直す?

<button type="submit" name="submit" class="btn btn-success" form="addNewAuc">Next</button> 

このコードに何か問題があります - :

<mvc:form class="form-inline" action="${action}" method="post" modelAttribute="newAuction" id="addNewAuc"> 

、ユーザーが次のボタンを押したとき、それは「/ aucConfirmをリダイレクトする」ヒットすべき - 私はここで、MVCのフォームがありますか?この時点でアイデアが不足しています。私はそれを動作させるために私の春のブート設定クラスに何かを追加する必要がありますか? - 助けてください!

アップデート2

http://localhost:8080/AuctionWebsite/sell

私は詳細はこのフォームをint型と私はそれが http://localhost:8080/AuctionWebsite/aucConfirm

ツーリダイレクトする次を選択入力すると、しかし、これは

をappears-ものです

enter image description here

すべてでリダイレクトおよびリンクhttp://localhost:8080/AuctionWebsite/sell

http://localhost:8080/AuctionWebsite/aucConfirm作品に残りません手動で

イムは、この時点で少し必死入ったとき、本当にすべてのヘルプをいただければ幸いです。

+0

try "redirect:aucConfirm"; 。リダイレクト先のURLを確認できますか? – yogidilip

+0

@yogidilipこれは私の問題を解決しませんでした。詳細は更新情報を参照してください – HazardAGuess

答えて

0

使用このコードの代わりに、あなたの更新の質問を1として

redirect:/aucConfirm 

redirect:aucConfirm 

は/エラーURLのですエラー

は「このアプリケーションは、明示的なマッピングを持っていない」ということらしいです。

実際のエラーはバリデーションが「auctionItem」

ので問題は、リダイレクトではなく、それは他の検証に関連する何かであるオブジェクトのために失敗した

です。コンソールログに特定のエラーが見つかることがあります。

+0

答えはありがたいですが、この作業はありません – HazardAGuess

+0

あなたはこのために取得しているURLを貼り付けることができますか?完全なURL – Dhiraj

+0

iveは更新2の中でオリジナルの投稿を更新しました。http:// localhost:8080/AuctionWebsite/aucConfirmは@DhirajにリダイレクトしたいURLです – HazardAGuess

関連する問題