我对Spring引导非常陌生。根据客户要求,我的另一位成员使用spring boot开发了代码段,以从此处获取用户响应。这是代码段。
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;
}
}
我想要的是使用位于另一个程序包中的Success消息加载单独的静态HTML页面,而不是在genericResponse.setMessage()中声明Success消息。同样是其他消息的静态页面。
有人可以在这里帮助我吗?
控制器就像
@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);
}
}
答案 0 :(得分:1)
@RestController 将始终返回json消息,因此您应将其更改为 @Controller ,然后需要创建一个viewresolver来呈现静态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";
}
}