2017-03-29 3 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 페이지와 함께 할 수있는 뭔가가 수

업데이트 다시 시작 하시겠습니까? 나는 여기에 MVC 형태가 -

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

와 사용자가 히트해야 다음 버튼을 명중 할 때 "리디렉션 :/aucConfirm"-이 코드와 아무 잘못이

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

거기를? 이 시점에서 아이디어가 부족합니다. 스프링 부트 구성 클래스에 아무것도 추가해야 작동 가능합니까? - 도와주세요!

업데이트 2

난 세부 사항이 양식을 int로와 나는 http://localhost:8080/AuctionWebsite/aucConfirm

그러나이

을 appears- 무엇 투가 재 지정하려면 다음 선택 입력

http://localhost:8080/AuctionWebsite/sell

enter image description here

,

전혀 리디렉션이 시점에서 조금 필사적 점점 임 수동

입력 할 때 링크 http://localhost:8080/AuctionWebsite/sell

http://localhost:8080/AuctionWebsite/aucConfirm 일을 남은 것이 정말 어떤 도움을 주셔서 감사하지.

+0

try "redirect : aucConfirm"; . 리디렉션 할 URL이 무엇인지 확인할 수 있습니까? – yogidilip

+0

@yogidilip이 문제는 내 문제를 해결하지 못했습니다. 자세한 내용은 업데이트를 참조하십시오. – HazardAGuess

답변

0

사용이 코드 대신에 업데이트 된 질문으로 당

redirect:/aucConfirm 

redirect:aucConfirm 

.

가/오류 URL에 대한인가 오류

는 "이 응용 프로그램은 명시 적 매핑이없는"것으로 보인다;

실제 오류는 유효성 검사 'auctionItem'

그래서 문제가 리디렉션되지는 다른 검증과 관련된 뭔가가 개체에 대한 실패

입니다. 콘솔 로그에서 특정 오류를 찾을 수 있습니다.

+0

답변을 주셔서 감사합니다.하지만이 작업이 없습니다. – HazardAGuess

+0

URL을 붙여 넣으시겠습니까? 전체 URL – Dhiraj

+0

ive 업데이트 2 내에서 내 원래 게시물을 업데이트했습니다. http : // localhost : 8080/AuctionWebsite/aucConfirm은 @Dhiraj로 리디렉션하려는 URL입니다. – HazardAGuess

관련 문제