Struts如何向现有表单添加新操作和新表单

时间:2013-04-17 17:54:39

标签: jsp struts action

我有一个现有的表单,它有一个很好的现有操作,我需要添加一个浏览按钮来在同一个JSP中附加文件。

为此,我添加了enctype =" multipart / form-data"到表单添加对附件的支持,但我得到了现有操作的错误,因为它不支持它。好的,我将为文件附件创建一个单独的操作

所以我做了以下事情:

<html:form action="/existingAction" method="POST" >
    ...
    --THIS IS ADDED
    <html:form action="/newAction" method="POST" enctype="multipart/form-data">
        <table>
            <tr>
                    <td><html:file size="55" alt="Browse" property="attachmentFile" styleId="attachmentFile"" /></td>
                <html:submit value="AddDoc"/>
                </td>               
            </tr>
        </table>
    </html:form>
    --END OF NEW CODE
    ...
    <html:submit value="completed"/>
</html:form>

在struts配置中,我为新操作添加了一个条目:

<action path="/newAction" type="com.action.AttachmentAction"
    scope="request" name="myForm" validate="false">

    <forward name="done" path="/forward/complete.do" />
</action> 

<action path="/existingAction" type="com.action.ExistingAction"
           scope="request" name="myForm" validate="false">

      <forward name="done" path="/forward/complete.do" />
</action>

但是它没有工作,新代码后的jsp没有显示在GUI中..如何添加一个新的文件附件,其中不同的Action添加到现有的表单/ Action?

谢谢,

2 个答案:

答案 0 :(得分:0)

我不确定您使用哪个版本的struts但是在v1.2中,在单个jsp上有2个表单操作可能不可能。所以你可以说类似的东西 &lt; form enctype =“multipart / form-data”action =“/ newAction”method =“post”&gt; 在浏览按钮上,输入文件类型作为文件,你就可以了。

答案 1 :(得分:0)

您不能嵌套这样的表单,它甚至不是合法的HTML。

要么有两种形式,要么使用单一形式并修复任何潜在问题。