如何使用url重写概念?

时间:2014-03-17 07:36:02

标签: jsp struts2

如何在以下代码中使用<s:Form action="delete">中的网址重写功能 如何解决此错误

  <s:iterator value="masterlist" var="item">
  <tr bordercolor="#E6E6E6"> 
  <td><a href="<s:url namespace="" action="uncchequepopulate1">
   <s:param name="chequeNumber" value="%{#item.chequeNo}" /></s:url>">
   <s:property value="%{#item.doncd}" />
  </a>
  </td>

  <td><s:property value="%{#item.dondesc}" /> </td> 
  <td><s:property value="%{#item.dondesce}" /></td> 
  <td><s:property value="%{#item.accno}" /></td>
   <center> <td>
   <s:form action="delete?doncod=<s:property value="%{#item.doncd}" />" >
    <s:submit value="Delete" theme="simple"></s:submit></s:form></td><center>

  <center> <td> <s:form action="modify" name="regform" id="formSelectOne"  theme="simple">
  <s:submit value="MODIFY" theme="simple"></s:submit></s:form></td> </center>
  </s:iterator>     

如何解决此错误

   HTTP Status 500 - /Masterindex.jsp (line: 116, column: 60) Unterminated `<s:form>` tag this error will be display how to resolve

1 个答案:

答案 0 :(得分:0)

您可以使用带有参数的s:url标记构建网址,然后再将其与表单标记一起使用。 s:form标记使用action属性与动作进行映射,但如果格式正确,它也会接受URL。那就是我们现在要做的。

<s:url var="deleteUrl" action="delete" includeContext="false"><s:param name="doncod" value="%{#item.doncd}"/></s:url>
<s:form action="%{#deleteUrl.substring(1)}" method="POST">

另一种方法,大多数建议使用hidden字段作为请求参数来保存随表单提交的值。

<s:form action="delete" method="POST">
<s:hidden name="doncod" value="%{#item.doncd}"/>

因此,这两种方法可用于通过表单动作传递参数。