当前位置: 首页 > 知识库问答 >
问题:

如何为控制器传递url中的对象?

宣瀚
2023-03-14
public class PersonDto {
    private String name;
    private int age;

    // all-args constructor
}

我继续/start并在TestService内部的方法Redirect中执行一些逻辑。

我尝试在url中传递object,重定向到另一个页面,并显示关于person的信息,但面对的是java.lang.IllegalStateException

@Controller
public class TestController {
    @Autowired
    private TestService testService;

    @GetMapping("/start")
    public void stepOne(HttpServletResponse httpResponse) {
        httpResponse = testService.redirect(httpResponse);
    }

    @GetMapping("/person")
    public String stepTwo(@RequestParam PersonDto personDto, Model model) {
        model.addAttribute("result", personDto);
        return "person";
    }
}
@Service
public class TestService {

    public HttpServletResponse redirect(HttpServletResponse httpResponse) {
        PersonDto personDto = new PersonDto("Alex", 27);
        String url = "http://localhost:8080" + "/person" +
                "?personDto=" + personDto;
        httpResponse.setHeader("Location", url);
        httpResponse.setStatus(302);
        return httpResponse;
    }
}
String url = "http://localhost:8080" + "/person" +
                "?personDtoName=" + personDto.getName() +"&personDtoAge=" + personDto.getAge();

共有1个答案

张可人
2023-03-14

将dto转换为JSON对象并尝试一下

 类似资料:
  • 问题内容: 在MVC4中,如何将javascript对象传递给AJAX中的C#控制器?最后,我尝试了一下,但没有成功。 Javascript客户端: C#服务器端方法: 我的参数始终为null。我试图更改contentType,但仍然无法正常工作。我的错误在哪里?我找到了一些帖子,但没有发现我做错了什么。 非常感谢。 问题答案: 确保javascript和C#模型之间的属性名称匹配。在你的问题,你

  • 如果对象为NULL,则无法传递对象项目。如何将对象从HTML传递给spring控制器?

  • 问题内容: 我想将一个对象传递给控制器​​,并在控制器中检索值。我定义如下: HTML代码: Javascript: 但是我无法在控制器中检索值。它越来越空。 问题答案: 尝试以下操作:-您正在传递对象数组,因此您应该执行HTTPPost而不是HttpGet(这将适用于通过查询字符串发送它的原始类型数组,例如int,strgin等列表)(请记住查询字符串的限制)。尝试使用HTTPPost

  • 我的控制器代码: 但不管用。

  • 问题内容: 我正在将一个对象传递给我的控制器,如下所示: 我的控制器将其视为它正在寻找的对象: 我的问题是我只想再传递一个字符串。我知道我可以制作特定于视图的模型,但我想知道是否可以执行以下操作: 我没有运气就尝试了以下方法: 但是复杂对象只是作为null来的。有没有办法我也可以传递对象和字符串? 问题答案: 尝试将字符串项添加到已有的JSON中。不要对其进行字符串化,否则它将发送一个大字符串,您

  • 问题内容: 我有以下任意JSON对象(字段名称可能会更改)。 -- 我知道我可以像定义具有相同字段名的JSON对象那样定义类,但是我希望控制器接受具有不同字段名的任意JSON对象。 问题答案: 如果您想将自定义JSON对象传递给MVC操作,则可以使用此解决方案,它的工作原理很吸引人。 该解决方案的真正好处是,您不需要为每个参数组合定义一个新类,并且除此之外,您可以轻松地将对象转换为其原始类型。 更