Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Spring控制器中发送表单数据而不使用注释_Spring_Spring Mvc_Spring Form - Fatal编程技术网

在Spring控制器中发送表单数据而不使用注释

在Spring控制器中发送表单数据而不使用注释,spring,spring-mvc,spring-form,Spring,Spring Mvc,Spring Form,我想在控制器中发送表单输入数据,而不使用注释 在这段代码中,我试图从jsp文件中获取employeeNo,empName,deptNo,我在jsp文件中使用了Spring,标记,但当我试图获取值时,它没有获取值,并引发异常: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute

我想在控制器中发送表单输入数据,而不使用注释

在这段代码中,我试图从jsp文件中获取
employeeNo
empName
deptNo
,我在jsp文件中使用了Spring
标记,但当我试图获取值时,它没有获取值,并引发异常:

java.lang.IllegalStateException: Neither BindingResult nor plain target object 
for bean name 'command' available as request attribute 
我的控制器

package com.nousinfo.tutorial.controllers;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.nousinfo.tutorial.service.impl.EmployeeServiceImpl;
import com.nousinfo.tutorial.service.model.EmployeeBO;

public class SearchEmployeeController extends MultiActionController {
    private EmployeeServiceImpl employeeServiceImpl;

    public void setEmployeeServiceImpl(EmployeeServiceImpl employeeServiceImpl) {
        this.employeeServiceImpl = employeeServiceImpl;
    }

    public ModelAndView searchByEmpNo(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        EmployeeBO empDetails = null;
        try {
            if (employeeServiceImpl.getEmployee(Long.parseLong(request
                    .getParameter("employeeNo"))) != null) {
                empDetails = employeeServiceImpl.getEmployee(Long
                        .parseLong(request.getParameter("employeeNo")));
            }
        } catch (EmptyResultDataAccessException e) {
            return new ModelAndView("successSingleEmp", "empDetails",
                    empDetails);
        }
        return new ModelAndView("successSingleEmp", "empDetails", empDetails);
    }

    public ModelAndView searchByEmpName(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        List<EmployeeBO> listEmployeeBO = employeeServiceImpl
                .findEmployees(request.getParameter("empName"));
        return new ModelAndView("successMultipleEmps", "listEmployeeBO",
                listEmployeeBO);
    }

    public ModelAndView searchByDeptNo(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        List<EmployeeBO> listEmployeeBO = employeeServiceImpl
                .getAllEmployeeByDeptid(request.getParameter("deptNo"));
        return new ModelAndView("successMultipleEmps", "listEmployeeBO",
                listEmployeeBO);
    }

}
package com.nousinfo.tutorial.controllers;
导入java.util.List;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入org.springframework.dao.EmptyResultDataAccessException;
导入org.springframework.web.servlet.ModelAndView;
导入org.springframework.web.servlet.mvc.multiaction.MultiActionController;
导入com.nousinfo.tutorial.service.impl.EmployeeServiceImpl;
导入com.nousinfo.tutorial.service.model.EmployeeBO;
公共类SearchEmployeeController扩展了MultiActionController{
私人雇员服务公司雇员服务公司;
public void setEmployeeServiceImpl(EmployeeServiceImpl EmployeeServiceImpl){
this.employeeserviceinpl=employeeserviceinpl;
}
公共模型和视图按EMPNO搜索(HttpServletRequest,
HttpServletResponse)引发异常{
EmployeeBO empDetails=null;
试一试{
if(employeeServiceImpl.getEmployee(Long.parseLong)(请求
.getParameter(“employeeNo”)!=null){
empDetails=employeeServiceImpl.getEmployee(长
.parseLong(request.getParameter(“employeeNo”));
}
}捕获(EmptyResultDataAccessE异常){
返回新模型和视图(“successSingleEmp”、“EMPDailets”,
环境管理计划(详情);
}
返回新的ModelAndView(“successSingleEmp”、“EMPDails”、EMPDails);
}
公共模型和视图按EMPNAME名称搜索(HttpServletRequest,
HttpServletResponse)引发异常{
列表listEmployeeBO=employeeserviceinpl
.findeEmployees(request.getParameter(“empName”);
返回新的model和view(“successMultipleEmps”,“listEmployeeBO”,
listEmployeeBO);
}
public Model和View searchByDeptNo(HttpServletRequest,
HttpServletResponse)引发异常{
列表listEmployeeBO=employeeserviceinpl
.getAllEmployeeByDeptid(request.getParameter(“deptNo”);
返回新的model和view(“successMultipleEmps”,“listEmployeeBO”,
listEmployeeBO);
}
}

我的jsp文件:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<fmt:setBundle basename="ApplicationResources" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Search Page</title>
</head>
<body>
    <form:form action="search.spring" method="post">
        <table border="0">
            <tr>
                <td><form:label path="employeeNo">Employee_ID</form:label> <form:input
                        path="employeeNo" /></td>
                <td><input type="submit" name="method" value="FindById" /></td>
            </tr>
            <tr>
                <td><form:label path="empName">Employee_Name</form:label> <form:input
                        path="empName" /></td>
                <td><input type="submit" name="method" value="FindByName" /></td>
            </tr>    
            <tr>
                <td><form:label path="deptNo">Employee_Name</form:label> <form:input
                        path="deptNo" /></td>
                <td><input type="submit" name="method" value="FindByDeptNO" /></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><font size=3>For
                        Searching the employees by<b>Employee Name</b><br />you can use %
                        match all the records with the given pattern
                </font><br /> <font size="2"> <i>e.g <b> for search by</b>EmployeeName<br />
                            matches alL the employees whose name starts with character <b>S</b></i></font></td>
            </tr>
        </table>
    </form:form>
</body>
</html>

员工搜索页面
雇员身份证
雇员姓名
雇员姓名
对于
按员工姓名搜索员工
您可以使用% 将所有记录与给定模式匹配
例如按员工姓名搜索
匹配名称以字符S开头的所有员工

我的xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<beans
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans">
    <import resource="/services-context.xml" />
    <bean id="searchController"
        class="com.nousinfo.tutorial.controllers.SearchEmployeeController">
        <property name="employeeServiceImpl" ref="employeserviceImpl" />
        <property name="methodNameResolver" ref="methodNameResolver" />
    </bean>    

    <bean id="myurlmapping"
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="search.spring">searchController</prop>
            </props>
        </property>
    </bean>    

    <bean id="methodNameResolver"
        class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
        <property name="paramName" value="method" />
    </bean>

    <!-- configuring BeanNameViewResolver -->
    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"></bean>

    <!-- configuring exception Resolver -->
    <bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="org.springframework.dao.DAOException">dberrorView</prop>
                <prop key="java.lang.NumberFormatException">notANumber</prop>
            </props>
        </property>
    </bean>
    <!-- configuring views required to render the view for /search.spring -->
    <bean name="successSingleEmp" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/EmployeeDetail.jsp" />
    </bean>
    <bean name="successMultipleEmps" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/EmployeeList.jsp" />
    </bean>
    <bean name="dberrorView" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/DBError.jsp" />
    </bean>
    <bean name="notANumber" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/NotANumberError.jsp" />
    </bean>
    <!-- CONFIGURING THE MEASSAGE RESOURCES FOR THIS APPLICTION CONTEXT -->
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename" value="/com/nousinfo/resources/ApplicationResources" />
    </bean>
</beans>

搜索控制器
dberrorView
编号

错误的原因是请求中没有可将字段绑定到的对象。因此,在返回此视图时,需要向jsp传递一个对象

在方法中,返回上述jsp和表单 这样做


我没有在您的代码中看到任何注释。返回jsp文件的代码在哪里?@AvinashT。我不想要用过的注释,所以没有注释,我正在尝试这样做,就像我在这里粘贴的一样,现在请告诉我如何在我的控制器中检索请求的数据,因为在jsp中我使用了spring表单标记,我不想要用过的注释controller@shazinltc在xml文件中,你可以从他们的“我导航到我的视图”(jsp)中找到我的jsp@亨利·查尔斯:那是员工搜索页面?
public ModelAndView yourMethodForView(){
//Assuming Employee object has employeeNo and empName
Employee emp = new Employee();
//your code
return new ModelAndView("yourFormJspName","employee",emp);
}