BindingResult 和 bean 名称“categoryOptions”的普通目标对象都不能作为请求属性

2024-02-27

我知道这个主题有很多线程,我已经尝试了其中的大多数,但仍然无法解决我的问题。我正在使用SpringMVC and MongoDB我想要实现的是,我将在数据库中存储一些数据,然后将其从数据库检索回选择选项。这是我的代码。

Jsp页面..

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://www.springframework.org/tags/form" prefix="f"%>
    <%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<!DOCTYPE html>
<html lang="en">
    <title>Master Referral</title>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width= device-width, initial-scale=1">
        <link type="text/css" rel="stylesheet" href='<spring:url value="/resources/css/bootstrap.min.css" />' >
        <link type="text/css" rel="stylesheet" href='<spring:url value="/resources/css/stylesvitalbeat.css" />' >


    </head>
    <body>
 <div class="container-fluid">
<div class="row">
                 <form action="http://localhost:8080/LoginMavenSpringMVC/admin/create" method="post">
                 <div class="col-md-2 col-sm-3">
                     <label class="control-label">Create Category:</label></div>
                     <div class="col-md-2 col-sm-4">
                   <input type="text" class="form-control input-sm field_color"  name="categoryName" placeholder="Name of the Category">
                         </div>
                     <div class="col-md-1 col-sm-3">
                <input type="submit" class="btn btn-primary btn-sm   height_margin"  name="create" value="Create">
                     </div>
                      </form>
<div>
<form class="form-horizontal" action="http://localhost:8080/LoginMavenSpringMVC/admin/saveReferral" method="post">
         <div class="row margin_div">
            <div class="col-sm-3 col-md-2">
                <label class="control-label">Select Category</label>
            </div>
             <div class="col-sm-5 col-md-4">
             <f:select path="categoryOptions">
            <f:options items="${list}"/>
         </f:select>
                              </div>

                </div>

</div>

控制器类

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.java.Dao.services.RegisterDao;
import com.java.Dao.services.RegisterDaoImplementaion;

@Controller
@RequestMapping("/admin")
public class ReferralController {

    @Autowired
    RegisterDao registerDao;

    @RequestMapping(value="/create", method=RequestMethod.POST)
    public ModelAndView create(@ModelAttribute("create") Category create){
        ModelAndView model =new ModelAndView("referralPage");
        System.out.println("Referral Controller.");     
    System.out.println( create.getCategoryName());
    if((StringUtils.hasText(create.getId()))) {
        registerDao.UpdateCategory(create);
    } else {
        registerDao.addCategory(create);
    }
    List<Category> list= registerDao.categoryList();
    model.addObject("list", list);
   return model;
    }

    @RequestMapping(value="/saveReferral", method=RequestMethod.POST)
    public ModelAndView save(@ModelAttribute("saveReferral") Referrals referral){
        ModelAndView model=new ModelAndView("referralPage");        
        return model;
    }
}  

道服务

dao class...
package com.java.Dao.services;

import java.util.List;
import com.java.Package.Login.Category;


public interface RegisterDao {
public void addCategory(Category createCategory);
    public void UpdateCategory(Category createCategory);
    public List<Category> categoryList();
}  

道实现

import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository;
import com.java.Package.Login.Category;
import com.mongodb.DBCollection;


@Repository
public class RegisterDaoImplementaion implements RegisterDao {

    @Autowired
    private MongoTemplate mongoTemplate;
    public static final String Collection_Category="CategoryList";
public void addCategory(Category createCategory) {
        // TODO Auto-generated method stub

        createCategory.setId(UUID.randomUUID().toString());
        System.out.println("Object in Repos::"+createCategory);
        mongoTemplate.insert(createCategory, Collection_Category);
    }
    public void UpdateCategory(Category createCategory) {
        // TODO Auto-generated method stub
        mongoTemplate.insert(createCategory, Collection_Category);      
    }
    @Override
    public List<Category> categoryList() {      
        return mongoTemplate.findAll(Category.class, Collection_Category);
    }
}

类映射类别选项

public class Referrals {
    private String categoryOptions;

    public String getCategoryOptions() {
        return categoryOptions;
    }

    public void setCategoryOptions(String categoryOptions) {
        this.categoryOptions = categoryOptions;
    }
}

我收到这个错误日志

Servlet.service() for servlet [spring-dispatcher] in context with path [/LoginMavenSpringMVC] threw exception [An exception occurred processing JSP page /WEB-INF/views/referralPage.jsp at line 366

363:             </div>
364:              <div class="col-sm-5 col-md-4">
365:              
366:              <f:select path="categoryOptions">
367:                <f:options items="${list}"/>
368:              </f:select>
369:             <!--  <select class="form-control input-sm" name="categoryOptions" >


Stacktrace:] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'categoryOptions' available as request attribute

我哪里出错了?我尝试过不同问题的解决方案,但无法解决。


您缺少将 Referrals 对象添加到模型中。

    @RequestMapping(value="/saveReferral", method=RequestMethod.POST)
    public ModelAndView save(@ModelAttribute("saveReferral") Referrals referral){
        ModelAndView model=new ModelAndView("referralPage");     
        model.addAttribute("categoryOptions",new Referrals());   //or referral
        return model;
    }

发生异常的原因是<f:select path="categoryOptions">,你提到过categoryOptions在路径中,但不知道你在哪里returning对此jsp with categoryOptions.

Update :所以这表示每当你加载时referral jsp,你必须加载categoryOptions bean

并在下面的行中将列表添加到模型中,使用model.addObject()但路径变量categoryOptions不见了。所以在该行之后model.addObject("list", list); add model.addAttribute("categoryOptions", new Referrals());

<f:select path="categoryOptions">
   <f:options items="${list}"/>
</f:select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BindingResult 和 bean 名称“categoryOptions”的普通目标对象都不能作为请求属性 的相关文章

随机推荐

  • 带有两个参数包的函数模板重载解析

    考虑以下代码 include
  • Prop 和 Type 的不同归纳原理

    我注意到 Coq 综合了关于 Prop 和 Type 等式的不同归纳原理 有人对此有解释吗 平等定义为 Inductive eq A Type x A A gt Prop eq refl x x 与之相关的归纳原理有以下类型 eq ind
  • JTextArea 更新为 DocumentListener

    JTextArea area1 new JTextArea JTextArea area2 new JTextArea DocumentListener documentListener new DocumentListener publi
  • 使用模块中的方法模拟类

    我正在使用 PowerShell 2 0 无法升级 并且正在编写一系列使用 Active Directory 中的一些信息的脚本 来自 C 等 OOP 语言 我想在 PowerShell 2 0 中模拟一个类 但我知道它们只有class5
  • 程序卡住,管道文件描述符何时不应该打开?

    我正在创建一个可以读取命令的小 shell 当我运行我的程序并输入 cat file txt gt file2 txt 它创建了文件 然后卡在了这一行 if execvp structVariables gt argv 0 argv lt
  • 矩阵的滑动窗口求和

    我有一个 50x50 矩阵 我想对每个 10x10 或另一个设定大小值 始终是正方形 重叠网格中的值求和 即 为了清楚起见 重叠的窗口仅以对角线显示 我尝试做的第一个任务是定义每个窗口的坐标 win 10 start 1 10 1 10 f
  • PHP cURL,使用 CURLOPT_RETURNTRANSFER 时出现内存泄漏

    下面的代码是在一个循环中 每个循环都会将 URI 更改为新地址 我的问题是每次传递都会占用越来越多的内存 ch curl init curl setopt ch CURLOPT URL URI curl setopt ch CURLOPT
  • MySQL 与 Sequelize:ER_BAD_DB_ERROR:未知数据库

    我正在遵循教程 下面是代码 var Sequelize require sequelize var sequelize new Sequelize basic mysql database mysql root password diale
  • 如何在 Ruby 中执行相当于 's3cmd ls s3://some_bucket/foo/bar' 的操作?

    如何在 Ruby 中执行相当于 s3cmd ls s3 some bucket foo bar 的操作 我找到了适用于 Ruby 的 Amazon S3 gem 以及正确的 AWS S3 库 但不知何故 如何在 S3 文件夹 之类的位置上执
  • MessageKit 不显示消息输入栏 Swift 5

    这是控制器层次结构 tabBarController gt 一些控制器和聊天频道控制器 并且这个聊天频道控制器也是一个导航控制器 当我选择行时 它会推送到 MessageViewController 类的聊天控制器 我这里有两个问题 一是小
  • 为什么使用 Tiled 的 libgdx 游戏中出现线条?

    我正在使用 LibGdx 和 Tiled 当在屏幕上移动时 游戏上会出现水平线和垂直线 如果需要的话 我可以发布您需要的任何代码 我怎样才能让这些线路停止 这是一个 gfycat gif 的线条 http gfycat com FastUn
  • QML - MouseArea/MouseEvent 问题

    下面的代码生成一个白色矩形 其中包含一个红色矩形和一个灰色矩形 每个矩形都有一个关联的 MouseArea 当鼠标在灰色矩形内单击时 灰色矩形会变成蓝色 当鼠标光标进入红色矩形内部时 红色矩形会打印一条控制台消息 当发出释放信号时 会打印另
  • 我如何比较“Bcrypt”Gem 解密的密码和加密的密码

    我正在尝试对某些帖子的评论使用简单的身份验证 用户使用即时 ID 和密码输入评论 我使用 bcrypt gem 将密码存储在数据库中 就像comments controller rb中这样 comment Comment new comme
  • Django 中子查询的查询

    我正在尝试从另一个查询执行查询 但 Django 说 渲染时捕获数据库错误 子查询返回超过 1 行 我正在使用 PostGis my model class Place models Model coordinate models Poin
  • 通过 .htaccess 文件为所有 PHP 脚本设置 HTTP 标头

    我在我的一个项目中对所有 PHP 程序编写了相同的代码行 是否可以在目录的 htaccess 中执行此操作 如何 PHP 代码 Header Content Type application xhtml xml charset utf 8
  • 混淆矩阵和列联表有什么区别?

    我正在编写一段代码来评估我的聚类算法 我发现每种评估方法都需要来自m n类似矩阵A aij where aij是属于类成员的数据点的数量ci和簇的元素kj 但似乎有两个这种类型的矩阵数据挖掘简介 Pang Ning Tan 等 一个是混淆矩
  • iOS:无法启动 .app 文件

    我不知道为什么它在我的 app 文件中寻找目录 每次我运行应用程序时 它都会在 iPhone 上安装应用程序 但不会运行并给出以下错误 谁能告诉我这个设置存储在哪里 谢谢 error failed to launch Users xxx L
  • 更新/替换 Google 文档上的内嵌图像

    我正在尝试设置一个功能来更新 Google 文档上的图像 就像 Lucidchart Add on 对其 更新插入图表 功能所做的那样 为此 我目前正在执行以下操作 创建命名范围并将其 id 与生成图像的数据一起存储在文档属性中 以供以后检
  • 内部 __lzcnt64 使用不同的编译选项返回不同的值

    我有以下代码 include
  • BindingResult 和 bean 名称“categoryOptions”的普通目标对象都不能作为请求属性

    我知道这个主题有很多线程 我已经尝试了其中的大多数 但仍然无法解决我的问题 我正在使用SpringMVC and MongoDB我想要实现的是 我将在数据库中存储一些数据 然后将其从数据库检索回选择选项 这是我的代码 Jsp页面