gpt4 book ai didi

java - 如何在 Spring MVC 中的 url 中进行包含项目名称的重定向?

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:22 24 4
gpt4 key购买 nike

我是 Spring 新手,但不熟悉框架世界。我注意到地址是用项目名称处理的,然后是指定的路由。

发生的情况是,当我尝试从 View 调用 Controller 操作时,我执行以下操作:

<td class="cell1"><span style="color:#696969;font-family:Arial;font-size:15px;line-height:16px;"><a href="/user/${usuario.cedula}/delete">Eliminar</a></span></td>

因此, Controller 如下:

@PostMapping("/{idUser}/delete")
public String deleteUser(@PathVariable (value = "idUser") Integer cedula, Model model){
Usuario usuario = this.usuarioService.find(cedula);
usuario.setEstaOculto(true);

this.usuarioService.update(usuario);
model.addAttribute("mensaje", "Usuario eliminado correctamente");
return "redirect:/user/";
}

当然,并且应该发生以下情况:

http://localhost:8084/trabajaya/user/423423/delete

但是重定向对我来说很糟糕,因为它“吃掉”了项目名称“trabajaya”,并将其保留如下。

http://localhost:8084/user/423423/delete

当然,理想的是将 Gasdfvgsdfd 子路径命名为需要它的 html 部分,但这并不理想,因为我在 AWS 上工作,并且在这中它更改了项目的名称。

如果是 enecsario,我会保留路由和资源的配置,尽管我认为这没有多大帮助

@Configuration
@EnableWebMvc
//BUSQUEDA DE TODAS LAS CLASES Y PAQUETES DERIVADOS DE com.howtodoinjava.demo.spring
@ComponentScan(basePackages = {"edu.co.ucatolica.trabajaya"})
@EnableJpaRepositories
@Import(HibernateConfig.class)
public class WebMvcConfig implements WebMvcConfigurer {

@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
//AQUI BUSCA LAS VISTAS
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}

@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasename("messages");
return source;
}

@Override
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/");
}
}

如何纠正这个问题?

谢谢。

最佳答案

我真的是被一杯水淹死了,它是纯粹的基本HTML,我已经有一段时间没有使用HTML了,我已经忘记了如何使用它。

只需添加以下内容:

<td class="cell1"><span style="color:#696969;font-family:Arial;font-size:15px;line-height:16px;"><a href="${usuario.cedula}/delete">Eliminar</a></span></td>

或者:

<td class="cell1"><span style="color:#696969;font-family:Arial;font-size:15px;line-height:16px;"><a href="user/${usuario.cedula}/delete">Eliminar</a></span></td>

已经更正并重定向到相应的路线,并且 Controller 应答调用。

现在,如果您想将链接重定向到另一个 Controller ,如下所示:

<td class="cell1"><span style="color:#696969;font-family:Arial;font-size:15px;line-height:16px;"><a href="../othercontroller/${usuario.cedula}/update">Modificar</a></span></td>

感谢@Istiaque Hossain 的回答

关于java - 如何在 Spring MVC 中的 url 中进行包含项目名称的重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com