为了账号安全,请及时绑定邮箱和手机立即绑定

无法显示 jsp 页

无法显示 jsp 页

米脂 2022-09-22 10:22:29
绑定结果和 Bean 名称“user” 的纯目标对象都不能作为请求属性2019 年 4 月 05 日 9:18:13 AM 组织.apache.catalina.core.标准包装阀调用严重: Servlet.service() 在上下文中与路径 [/数据可视化] 抛出异常 [发生异常处理 JSP 页面 /WEB-INF/视图/AddUserForm.jsp在第 23 行20:21:22:输入名称:23:24:25:26:保存堆栈跟踪:] 具有根本原因 java.lang.非法状态异常:绑定结果和纯目标对象在组织上既不能作为请求属性,也不能作为请求属性。(宾德状态.java:153)package com.datavisualization.controller;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.BindingResult;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import com.datavisualization.model.User;@Controller@RequestMapping("restApi/dataVizualization")public class GetUserData {private static Logger logger=Logger.getLogger(GetUserData.class);@RequestMapping(value="adduser")public String addUserForm(){    logger.info("===addUserForm ");    return "AddUserForm";}@RequestMapping(value="save", method=RequestMethod.POST)public void saveUser(@ModelAttribute("user") User user,BindingResult                                          result,Model model){    System.out.println("=== save user method");}}模型类:包网站数据可视化模型;import java.io.Serializable;public class User implements Serializable {private static final long serialVersionUID = 1L;private String name;public User() {super();// TODO Auto-generated constructor stub}public User( String name) {super();this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

下面的方法调用用户表单,但在这里你没有提到JSP中使用的模型属性,这就是为什么你得到一个错误。因为在你的JSP页面中不知道什么是用户。所以你需要在控制器中提到用户属性


@RequestMapping(value="adduser")

public String addUserForm()

{

    logger.info("===addUserForm ");

    return "AddUserForm";

}

解决方案是,将方法更改为此


@RequestMapping(value="adduser")

public String addUserForm(Model model)

{

    logger.info("===addUserForm ");

    model.addAttribute("user", new User());

    return "AddUserForm";

}

和更改为您错过/在映射中。这是最佳实践。@RequestMapping("restApi/dataVizualization")@RequestMapping("/restApi/dataVizualization")


祝你好运


查看完整回答
反对 回复 2022-09-22
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

为什么使用绑定结果?我只将绑定结果与@Valid一起使用。尝试删除绑定结果,我认为它会起作用!


@RequestMapping(value="save", method=RequestMethod.POST)

public void saveUser(@ModelAttribute("user") User user,Model model)

{

    System.out.println("=== save user method");

}


查看完整回答
反对 回复 2022-09-22
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信