Spring 3 + Tiles 2のフォームで送信をクリックすると、このエラーが発生します...わかりませんが、フォームではない他のページは正常に機能します...そのコードは次のとおりです。
エラー 500 -- 内部サーバー エラー java.lang.ClassCastException: org.springframework.web.bind.ServletRequestDataBinder は org.springframework.web.bind.annotation.support の org.springframework.web.bind.support.WebRequestDataBinder にキャストできません。 org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:744) の HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:754) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments( HandlerMethodInvoker.java:296) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:163) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java: 354) org.springframework.web.servlet.mvc.annotation で。org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:763) の AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:342) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:709) の org .springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:613) で org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:536) で javax.servlet.http.HttpServlet.service(HttpServlet.java) :727) で javax.servlet.http.HttpServlet.service(HttpServlet.java:820) で weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) で weblogic.servlet.internal.StubSecurityHelper.invokeServlet( StubSecurityHelper.java:125) を weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) で、weblogic で。weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) の servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java: 3681) weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)、weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext) .java:2277) で weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread. java:207) weblogic.work.ExecuteThread.run(ExecuteThread.java:176) でweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) の ServletStubImpl.execute(ServletStubImpl.java:183) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) の weblogic .security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)、weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) ) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) でweblogic.work.ExecuteThread.run(ExecuteThread.java:176) でweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) の ServletStubImpl.execute(ServletStubImpl.java:183) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) の weblogic .security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)、weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) ) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) でweblogic.work.ExecuteThread.run(ExecuteThread.java:176) でexecute(ServletStubImpl.java:183) で weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) で weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) で weblogic.security .acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)、weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic .work.ExecuteThread.run(ExecuteThread.java:176)execute(ServletStubImpl.java:183) で weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) で weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) で weblogic.security .acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)、weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic .work.ExecuteThread.run(ExecuteThread.java:176)weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java: 321) weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)、weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java) :2183) weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic.work.ExecuteThread.run(ExecuteThread.java:176) でweblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java: 321) weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)、weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)、weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java) :2183) weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic.work.ExecuteThread.run(ExecuteThread.java:176) で3717) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) で weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) で weblogic.security.service.SecurityManager.runAs で(SecurityManager.java:120) で weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) で weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl で。 run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)3717) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) で weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) で weblogic.security.service.SecurityManager.runAs で(SecurityManager.java:120) で weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) で weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) で weblogic.servlet.internal.ServletRequestImpl で。 run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)java:321) で weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) で weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) で weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext) .java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic.work.ExecuteThread.run(ExecuteThread.java: 176)java:321) で weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) で weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) で weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext) .java:2183) で weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) で weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) で weblogic.work.ExecuteThread.run(ExecuteThread.java: 176)weblogic.work.ExecuteThread.run(ExecuteThread.java:176) の ExecuteThread.execute(ExecuteThread.java:207)weblogic.work.ExecuteThread.run(ExecuteThread.java:176) の ExecuteThread.execute(ExecuteThread.java:207)
package com.ultimatix.framework.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.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;
import com.ultimatix.framework.vo.Contact;
@Controller
@SessionAttributes
public class ContactController
{
@RequestMapping(value = "/addContact", method = RequestMethod.POST)
public ModelAndView addContact(@ModelAttribute("command")Contact _objContact)
{
System.out.println(_objContact.toString());
return new ModelAndView("welcome");
}
@RequestMapping("/contact")
public ModelAndView showContacts()
{
return new ModelAndView("contact", "command", new Contact());
}
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Spring 3.0 + Tiles 2.0 - Contact Manager</title>
</head>
<body>
<h2 align="center">Contact Manager</h2>
<form:form method="post" commandName="command" action="addContact.do">
<table border="0" cellpadding="2" cellspacing="2" align="center"
width="50%">
<tr>
<td width="30%">First Name</td>
<td width="70%"><form:input path="strFirstName" /></td>
</tr>
<tr>
<td width="30%">Last Name</td>
<td width="70%"><form:input path="strLastName" /></td>
</tr>
<tr>
<td width="30%">Email</td>
<td width="70%"><form:input path="strEmailId" /></td>
</tr>
<tr>
<td width="30%">Contact No.</td>
<td width="70%"><form:input path="strContactNo" /></td>
</tr>
<tr>
<td width="30%" align="center"><input type="submit" value="Add Contact" /></td>
<td width="70%"><input type="reset" value="Clear Details" /></td>
</tr>
</table>
</form:form>
</body>
</html>