2017-07-14 10 views
-1

これは私のspring-mvcプロジェクトです。ログインしようとしていますが、できません。私が作成したすべてのファイルが含まれています。Spring MVCプロジェクトで400エラーを取得する

これは私のjspフォームです。

 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
      <%@ taglib uri="http://www.springframework.org/tags"prefix="spring"%> 
      <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> 
      <%@ page session="false" %> 
      <html> 
      <head> 
       <title>Employee Page</title> 
      </head> 
      <body> 
       <form action="reg.htm" method="get"> 
       Employee name: <input type="text" name="ename"/> 
       Employee ID: <input type="text" name="empno"/> 
       Employee job: <input type="text" name="job"/> 
       <input type="submit" value="success"/> 
       </form> 
      </body> 
      </html> 

これは以下のコントローラクラスです。

 package com.SpringMvcHello.Controller; 

     import org.springframework.stereotype.Controller; 
     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.ycs.bean.Employee; 


     @Controller 
     public class RegistrationController { 


      @RequestMapping(value="/reg.htm", method= RequestMethod.GET) 
      public ModelAndView sayHello(@ModelAttribute("e")Employee emp){ 
       ModelAndView model=new ModelAndView("login1"); 
       String ename=emp.getEname(); 
       System.out.println("ename ="+ename); 
       return model; 

      } 


     } 

これは私のweb.xmlファイルです。

 <?xml version="1.0" encoding="UTF-8"?> 
     <beans xmlns="http://www.springframework.org/schema/beans" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:aop="http://www.springframework.org/schema/aop" 
      xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" 
      xmlns:context="http://www.springframework.org/schema/context" 
      xmlns:mvc="http://www.springframework.org/schema/mvc" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 
      <!-- Enables the Spring MVC @Controller programming model --> 



     <context:component-scan base-package="com.SpringMvcHello.Controller"/> 

      <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver"> 
       <property name = "prefix" value = "/WEB-INF/jsp/" /> 
       <property name = "suffix" value = ".jsp" /> 
      </bean> 

      <bean name="e" class="com.ycs.bean.Employee"/> 

      <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"></bean> 



     </beans> 

ディスパッチャーサーブレットを構成するディスパッチャーサーブレットです。

 <?xml version="1.0" encoding="UTF-8"?> 
     <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
      <display-name>HelloWorld</display-name> 
      <welcome-file-list> 
      <welcome-file>index.jsp</welcome-file> 
      </welcome-file-list> 




     <!-- Dispatcher Servlet configuration --> 


      <servlet> 
       <servlet-name>hello</servlet-name> 
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
       <load-on-startup>1</load-on-startup> 
      </servlet> 
      <servlet-mapping> 
       <servlet-name>hello</servlet-name> 
       <url-pattern>*.htm</url-pattern> 
      </servlet-mapping> 


     <!-- Session configuration --> 

      <session-config> 
       <session-timeout> 
        30 
       </session-timeout> 
      </session-config> 

     </web-app> 

これは、あなたが評価されるPOSTメソッドを介して送信し、ログインセッションの右側を返したいデータとフォームを持っているあなたのログインページで

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
      pageEncoding="ISO-8859-1"%> 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
     <html> 
     <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Insert title here</title> 
     </head> 
     <body> 
     <h1> 
     hello ${e.ename}</h1> 
     Your ID is : ${e.empno} 
     Your Name is : ${e.ename} 
     Job is : ${e.job} 

     </body> 
     </html> 

答えて

0

ビュー一部です?。その後

<form action="reg.htm" method="POST"> 
       Employee name: <input type="text" name="ename"/> 
       Employee ID: <input type="text" name="empno"/> 
       Employee job: <input type="text" name="job"/> 
       <input type="submit" value="success"/> 
</form> 

は、あなたのコントローラで、あなたはそれを

@Controller 
     public class RegistrationController { 


      @RequestMapping(value="/reg.htm", method= RequestMethod.POST) 
      public ModelAndView sayHello(@ModelAttribute("e")Employee emp){ 
       //Here you don't need to set a view, you can redirect to another view with the right object model. 
       ModelAndView model=new ModelAndView("redirect:index"); 
       String ename=emp.getEname(); 
       //Here you can add directly you Employee object to your model 
       model.addAttribute("emp", emp); 
       System.out.println("ename ="+ename); 
       return model; 

      } 


} 

を処理するために行く方法を宣言する必要があり、あなたのインデックスビューであなたは春の表現言語でEMPオブジェクトあなたを呼び出すことができます(SPEL)は次のようになります:

<div>My Employee name: ${emp.ename}</div> 
+0

私はget –

+0

を使用しています。あなたのフォームにgetメソッドを使用すると、データを要求しているコントローラにデータが送信されていません。 –

0

このようにフォームをスプリングフォームに変更する必要があります:

<form:form action="reg.htm" modelAttribute="e"> 
      Employee name: <form:input type="text" name="ename"path="ename"/> 
      Employee ID: <form:input type="text" name="empno"path="empno"/> 
      Employee job: <form:input type="text" name="job" path="job"/> 
      <input type="submit" value="success"/> 
</form:form> 
関連する問題