2

我是春天的新手,我被赋予了一项任务。我使用 spring mvc 为员工创建了一个简单的注册表单,它的结果显示在另一个 jsp 页面上,但我希望结果显示在我填写表格的同一个 jsp 页面上,结果也应该是表格形式.

我也尝试了转发和重定向选项,但我没有得到结果。

这是我的文件:

EmployeeFormController.java

public class EmployeeFormController extends SimpleFormController {
@Override
protected ModelAndView onSubmit(Object command)
throws ServletException {
Employee employee = (Employee) command;  

ModelAndView modelAndView = new ModelAndView("usersuccess");
modelAndView.addObject("employee", employee);
return modelAndView;  
}  

}

用户.jsp

    <%@ taglib prefix="core" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="spring" uri="/spring"%>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
    <%@ 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>Employee Personal Details</title>
   </head>
   <body>
   <center> <h3>Employee Personal Details</h3>
   <br/>
   <form:form commandName="user" method="POST" name="user">
   <table border="0">
   <tr>
   <td>Name:</td>
   <td><form:input path="name"/></td>
   <td><font color="red"><form:errors path="name"/></font></td>
   </tr>
   <tr>
   <td>Email ID:</td>
   <td><form:input path="emailid"/></td>
   <td><font color="red"><form:errors path="emailid"/></font></td>
    </tr>
  <tr>
 <td>Date of birth:</td>
 <td><form:input path="dob"/></td>
<td><font color="red"><form:errors path="dob"/></font></td>
</tr>
<tr>
<td>Qualification:</td>
<td><form:input path="qualification"/></td>
<td><font color="red"><form:errors path="qualification"/></font></td></tr>
<tr>
<td>Contact Number:</td>
<td><form:input path="contact"/></td>
<td><font color="red"><form:errors path="contact"/></font></td>
</tr> 
<tr>
<td>Address:</td>
<td><form:input path="address"/></td>
<td><font color="red"><form:errors path="address"/></font></td>
</tr>
<tr> 
<td colspan="3" align="center"><input type="submit" value="Save"/></td> 
</tr>
</table>
</form:form>
</center> 
</body>
</html>

用户成功.jsp

<table border = 2>
<tr>
<td colspan="2" align="center"><font size="5">Employee Information</font></td> 
</tr>
<tr>
<td>Name:</td>
<td><core:out value="${employee.name}"/></td> 
</tr>
<tr>
<td>Email ID:</td>
<td><core:out value="${employee.emailid}"/></td> 
</tr>
<tr>
<td>Date Of Birth:</td>
<td><core:out value="${employee.dob}"/></td> 
</tr>
<tr>
<td>Qualification:</td>
<td><core:out value="${employee.qualification}"/></td> 
</tr>
<tr>
<td>Contact Number:</td>
<td><core:out value="${employee.contact}"/></td> 
</tr>
<tr>
<td>Address:</td>
<td><core:out value="${employee.address}"/></td> 
</tr>
</table>

调度程序-servlet.xml

<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<bean id="userController" class="com.web.EmployeeFormController">
<property name="sessionForm"><value>false</value></property>
<property name="commandName"><value>user</value></property>
<property name="commandClass"><value>com.web.Employee</value></property>
<property name="formView"><value>user</value></property>
<property name="successView"><value>usersuccess</value></property>
</bean>
4

2 回答 2

1

为什么你不能做

ModelAndView modelAndView = new ModelAndView("user");

代替

ModelAndView modelAndView = new ModelAndView("usersuccess");

如果您想在同一页面中显示答案。请注意,如果您想以表格形式显示,您必须将代码从 usersuccess.jsp 复制到 user.jsp 并相应地修改您的代码

于 2013-03-19T13:00:50.187 回答
0

Spring MVC 本身是一个“往返”交易,这意味着您提交请求(表单 post、url 等),Spring MVC 路由请求并生成响应,浏览器将其解释为页面加载。您所要求的通常称为AJAX,与 Spring MVC 直接关系不大。

这是该过程的 50000 英尺视图。在您的表单 JSP 上,您将拥有一些在用户“提交”表单时调用的 JavaScript。例如,您可以有一个带有 jQ​​uery 事件处理程序的按钮类型的输入。从那里,您将收集表单值并使用 AJAX 调用提交它们。一旦响应返回,您将解析返回的数据并操作页面上的DOM,再次使用 JavaScript。

可能有数百万个关于如何使用多种不同技术在 Web 上执行此操作的示例。我个人更喜欢jQuery作为我的 JavaScript 库,并且我几乎广泛地使用它的ajax 功能。不过,这不是唯一的方法。

于 2013-03-19T12:46:50.037 回答