0

我正在使用示例 Spring Web 应用程序并将其托管在云上。我正在显示一个表单以向应用程序输入一些值。当我使用提交按钮提交表单时,页面被定向到 /Myapp/createform.htm。我期望表单提交到我的网络服务器 ec2-url/Myapp/createform.htm 。web url 丢失,表单的提交尝试通过名称 Myapp/createform.htm 查找网站。请让我知道可能出了什么问题。也让我知道提供的信息是否足够。我对此很陌生。此代码也适用于本地主机。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title><spring:message code="title.create" /></title>
</head>
<body>
 <jsp:include flush="true" page="header.jsp"></jsp:include>
     <div align="left"><spring:message code="${message}" text="" /></div>
     <!-- Album Creation Form -->
     <form:form>
<form:errors path="*" />
<table id="createAlbum">
    <tr>
        <th>Album Name*</th>
        <td><form:input path="name" /></td>
    </tr>
    <tr>
        <th>Description</th>
        <td><form:textarea path="description" /></td>
    </tr>
    <tr>
        <th>Album Labels</th>
        <td><c:forEach items="${labels}" var="label">
            <form:checkbox path="labels" value="${label}" />${label}   <br />
        </c:forEach></td>
    </tr>
    <tr>
        <th>Creation Date</th>
        <td><form:input path="creationDate" /></td>
    </tr>
</table>
<input type="submit" value="Create" />
   </form:form>

</body>
</html>
4

1 回答 1

0

如果您的表单没有提交到正确的位置,您应该尝试在表单定义中指定目标 URL:

<form:form method="post" action="${pageContext.request.contextPath}/createform.htm">

或者使用您的目标控制器将选择的任何 URL。最好不要假设目标 URL 是正确的,而是指定它。

于 2013-07-08T13:48:54.413 回答