0

我设法集成了 HD​​IV 和 Spring MVC。现在 HDIV 为静态链接生成了安全 URL。但是当我尝试提交带有参数的链接时,我总是收到错误消息。我知道原因是在生成表单的 URL 时,参数不是 URL 的一部分。但我找不到解决方法。请帮忙。非常感谢。

表单部分是这样的:

<c:url var="url" value="/contract/report/report" />
<form:form action="${url}"  method="get">
    <table >
        <tr>
            <td><label>Name:</label></td>
            <td><select id="nameId" name="nameId">
                <c:forEach var="c" items="${Users}">
                    <option value='${c.id}'> ${c.name}</option>
                </c:forEach>
            </select> </td>
            <td><Button type="submit" >Submit</Button>  </td>
        </tr>
    </table>
</form:form>

更新:

我发现解决方法是我必须用这样的弹簧选项重写选择选项:

<form:select path="contractId">
 <c:forEach var="c" items="${Users}">
     <form:option value="${c.id}" label="${c.name}"></form:option>
 <c:forEach var="c" items="${Users}">
</form:select>

感谢大家。

4

3 回答 3

1

如果您想向 URL 添加参数,那么这可能会起作用。

<c:url var="url" value="/contract/report/report"><c:param name="parameter" value="value" /></c:url>
于 2014-09-19T19:19:13.280 回答
0

不要c:url用于表格,你不需要它:

<form:form action="${pageContext.servletContext.contextPath}/contract/report/report" method="get">
     ...
</form:form>
于 2014-09-22T08:55:02.703 回答
0

我发现解决方法是我必须用这样的弹簧选项重写选择选项:

<form:select path="contractId">
 <c:forEach var="c" items="${Users}">
     <form:option value="${c.id}" label="${c.name}"></form:option>
 <c:forEach var="c" items="${Users}">
</form:select>

感谢大家。

于 2014-09-22T13:29:15.450 回答