在Spring应用程序中提交表单时,Web服务器URL丢失

时间:2013-07-08 13:01:52

标签: spring web

我正在使用示例spring web应用程序并将其托管在云端。我正在显示一个表单来向应用程序输入一些值。当我使用提交按钮提交表单时,页面将定向到/Myapp/createform.htm。我希望表单提交到我的web服务器ec2-url / Myapp / createform.htm。网址丢失,表单提交尝试按名称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>

1 个答案:

答案 0 :(得分:0)

如果您的表单未提交到正确的位置,则应尝试在表单定义中指定目标网址:

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

或使用目标控制器将接收的任何URL。最好不要假设目标网址是正确的,而是指定它。