Как перенаправить на статическую страницу HTML из метода genericResponse Spring Boot - PullRequest
0 голосов
/ 10 сентября 2018

Я очень новичок в загрузке Spring. в соответствии с требованием клиента мой другой участник разработал сегмент кода с использованием весенней загрузки, чтобы получить ответ пользователя отсюда. Вот сегмент кода.

public GenericResponse updateAcceptOrReject(String password, FileAcceptStatus status) {
    // TODO Auto-generated method stub
    GenericResponse genericResponse = new GenericResponse();
    String sql = "SELECT * FROM employee WHERE pass_code = ?";

    Employee employee = null;
    try {
        employee = (Employee) jdbcTemplate.queryForObject(sql, new Object[] { password }, new EmployeeRowMapper());
    } catch (EmptyResultDataAccessException e) {
        System.out.println("error :"+ e.getLocalizedMessage());
        employee = null;
    }catch (Exception e) {
        System.out.println("error :"+ e.getLocalizedMessage());
        employee = null;
    }
    // check if employee available          
    if(employee == null) {
        genericResponse.setStatusCode(200);
        genericResponse.setMessage("No employee found");
        return genericResponse;
    }
    // check acceptStatus 
    if(employee.getAccept_status() != 0) {
        genericResponse.setStatusCode(201);
        genericResponse.setMessage("You already accepted");
        return genericResponse;
    }

    String updateSql = "update employee set accept_status=? where pass_code=?";
    int[] types = {Types.INTEGER, Types.VARCHAR};

    int updatedFlag = jdbcTemplate.update(updateSql, new Object[] { status.ordinal(), password }, types);
    if(updatedFlag == 1) {
        genericResponse.setStatusCode(0);
        genericResponse.setMessage("Success");
        return genericResponse;
    }else {
        genericResponse.setStatusCode(-99);
        genericResponse.setMessage("Error occured while updating employ");
        return genericResponse;
    }
}

я хочу загрузить отдельную статическую HTML-страницу с сообщением об успехе, расположенным в другом пакете, а не с сообщением об успехе в genericResponse.setMessage (). также статические страницы для других сообщений.

enter image description here

Может кто-нибудь помочь мне здесь?

Контроллер похож на

 @RestController
public class HumanResourceController {

    @Autowired
    private HumanResourceService hRService;

    @RequestMapping(value = "/update/status/{password:.+}/{status}", method = RequestMethod.GET)
    public ResponseEntity<?> updateAcceptOrReject(@PathVariable("password") String password,
            @PathVariable("status") FileAcceptStatus status) {

        GenericResponse genericResponse = hRService.updateAcceptOrReject(password, status);
        return ResponseEntity.ok().body(genericResponse);
    }

}

1 Ответ

0 голосов
/ 10 сентября 2018

@ RestController всегда будет возвращать сообщение json, поэтому вы должны изменить его на @ Controller , затем вам нужно создать средство просмотра для отображения статического html

переместите все ваши html-файлы в / WEB-INF /

@Configuration
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{
    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/");
        resolver.setSuffix(".html");
        return resolver;
    }

    @Override
    public void configureDefaultServletHandling(
            DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }    
}


@Controller
public class HumanResourceController {

    @Autowired
    private HumanResourceService hRService;

    @RequestMapping(value = "/update/status/{password:.+}/{status}", method = RequestMethod.GET)
    public String updateAcceptOrReject(@PathVariable("password") String password,
            @PathVariable("status") FileAcceptStatus status) {

        GenericResponse genericResponse = hRService.updateAcceptOrReject(password, status);
        // you can return various view according the generic response http code
        return "alreadyaccepted";
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...