在我的应用程序中,其中一个 jsp 成功地将输入参数通过命令对象传递给我的控制器。但是,我对另一个 jsp 及其控制器采用了相同的方法,但它不起作用。我从未为任何其他 JSP 工作过。
以下是代码-spring xml
<bean id="uploadController"
class="com.UploadController">
<property name="commandName">
<value>formBean</value>
</property>
<property name="commandClass">
<value>
com..TemplateDownloadFormBean
</value>
</property>
<property name="formView">
<value>uploadTemplates</value>
</property>
<property name="successView">
<value>uploadSuccess</value>
</property>
</bean>
</beans>
控制器
public class UploadController extends SimpleFormController {
private static final long serialVersionUID = -3208409086358916855L;
private static final Logger logger = Logger
.getLogger(UploadController.class);
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
logger.debug("Entered UploadController - OnSubmit");
TemplateDownloadFormBean formBean = (TemplateDownloadFormBean) command;
logger.debug(formBean.getSearchString());
Enumeration en = request.getAttributeNames();
while (en.hasMoreElements()) {
logger.debug(en.nextElement());
}
return new ModelAndView(getSuccessView());
}
JSP
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form action="uploadTemplates.do" method="post"
enctype="multipart/form-data">
<table>
<tr>
<td><spring:hasBindErrors name="formBean">
<c:forEach var="errMsgObj" items="${errors.allErrors}">
<div align="center" class="errorStyle"><spring:message
code="${errMsgObj.code}" /></div>
</c:forEach>
</spring:hasBindErrors></td>
</tr>
<tr>
<spring:bind path="formBean.searchString">
<td align="left"><input type="text" name="searchString" /></td>
</spring:bind>
</tr>
<tr>
<td><input type="submit" value="SearchTemplate"
name="SearchTemplate" /></td>
</tr>
</table>
</form>
</body>
</html>
同样的声明结构适用于我在同一个应用程序中的其他 JSP。但在这里失败了。请如果有人能告诉我我在这里做错了什么。